Python 在dataframe的新列中连接日期
我有一个数据框,列为Python 在dataframe的新列中连接日期,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框,列为date,类型为datetime64[ns] 当我尝试使用基于日期列的格式MM-DD创建新的列day时,只有第一种方法从下面开始工作。为什么第二种方法在熊猫身上不起作用 df['day'] = df['date'].dt.strftime('%m-%d') df['day2'] = str(df['date'].dt.month) + '-' + str(df['date'].dt.day) 一行的结果: day
date
,类型为datetime64[ns]
当我尝试使用基于日期列的格式MM-DD
创建新的列day时,只有第一种方法从下面开始工作。为什么第二种方法在熊猫身上不起作用
df['day'] = df['date'].dt.strftime('%m-%d')
df['day2'] = str(df['date'].dt.month) + '-' + str(df['date'].dt.day)
一行的结果:
day 01-04
day2 0 1\n1 1\n2 1\n3 1\n4 ...
柱的类型
day object
day2 object
解决的问题是,如果将
str
与df['date'].dt.month
一起使用,则返回Series
,正确的方法是使用:
df['day2'] = df['date'].dt.month.astype(str) + '-' + df['date'].dt.day.astype(str)