我有一个数据帧df
,其头部看起来像:
DATE YEAR MONTH DAY
0 2014-03-04 2014 3 4
1 2014-04-04 2014 4 4
2 2014-04-07 2014 4 7
3 2014-04-08 2014 4 8
4 2014-04-09 2014 4 9
YEAR
列,MONTH
,DAY
列是使用以下方法从DATE
列中提取的:
df['YEAR'] = df.DATE.dt.year
df['MONTH'] = df.DATE.dt.month
df['DAY'] = df.DATE.dt.day
当前,它们的类型为int64
。我正在尝试将YEAR,MONTH,DAY列的类型更改为字符串。我尝试使用:
df['YEAR'] = df.DATE.dt.year + ""
df['MONTH'] = df.DATE.dt.month + ""
df['DAY'] = df.DATE.dt.day + ""
和
df['YEAR'].apply(str)
df['MONTH'].apply(str)
df['DAY'].apply(str)
我不断收到类型错误:
TypeError: ufunc 'add' did not contain a loop with signature matching types dtype('<U21') dtype('<U21') dtype('<U21')
任何帮助将不胜感激。
谢谢
答案 0 :(得分:1)
使用.astype(str)
df['YEAR'] = df['YEAR'].astype(str)
type(df.YEAR[0])
Out[11]: str