熊猫列日期转换

时间:2015-07-13 03:02:02

标签: python datetime pandas

我有一个带有日期列的pandas数据帧,数据类型是datetime64 [ns]。数据框中有超过1000个观测值。我想转换以下专栏:

date
2013-05-01
2013-05-01

date
05/2013
05/2013

date
05-2013
05-2013

EDIT //

这是我现在的示例代码

test = pd.DataFrame({'a':['07/2017','07/2017',pd.NaT]})

           a
0 2017-07-13
1 2017-07-13
2        NaT

test['a'].apply(lambda x: x if pd.isnull(x) == True else x.strftime('%Y-%m'))

0   2017-07-01
1   2017-07-01
2          NaT
Name: a, dtype: datetime64[ns]

为什么只更改日期而不是格式?

1 个答案:

答案 0 :(得分:2)

您可以使用datetime64方法将strftime转换为您喜欢的任何字符串格式。在你的情况下,你会这样应用它:

df.date = df.date[df.date.notnull()].map(lambda x: x.strftime('%m/%Y'))
df.date
Out[111]: 
0    05/2013
1    05/2013