Pandas列日期转换



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

date
2013-05-01
2013-05-01

date
05/2013
05/2013

date
05-2013
05-2013
编辑//

这是我现在的示例代码

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]

为什么只改变了日期而没有改变格式?

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

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

相关内容

  • 没有找到相关文章

最新更新