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)