我有date带有 type列的数据框datetime64[ns]。当我尝试使用MM-DD基于日期列的格式创建新的列日时,只有第一种方法从下面开始工作。为什么第二种方法在熊猫中不起作用?df['day'] = df['date'].dt.strftime('%m-%d')df['day2'] = str(df['date'].dt.month) + '-' + str(df['date'].dt.day)一行的结果:day 01-04day2 0 1\n1 1\n2 1\n3 1\n4 ...列的类型day objectday2 object
1 回答
qq_遁去的一_1
TA贡献1725条经验 获得超7个赞
解决方案的问题是如果使用str
它df['date'].dt.month
返回Series
,正确的方法是使用Series.astype
:
df['day2'] = df['date'].dt.month.astype(str) + '-' + df['date'].dt.day.astype(str)
添加回答
举报
0/150
提交
取消