日期时间与熊猫中的系列串

新手上路,请多包涵

我应该如何从 datetime 转换为 string ?我的尝试:

 dates = p.to_datetime(p.Series(['20010101', '20010331']), format = '%Y%m%d')
dates.str

原文由 Diego 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 200
2 个回答

没有 .str 日期时间访问器,你也不能做 .astype(str)

相反,使用 .dt.strftime

 >>> series = pd.Series(['20010101', '20010331'])
>>> dates = pd.to_datetime(series, format='%Y%m%d')
>>> dates.dt.strftime('%Y-%m-%d')
0    2001-01-01
1    2001-03-31
dtype: object

请在此处查看有关自定义日期字符串格式的文档: strftime() 和 strptime() Behavior


对于旧的 pandas 版本 <0.17.0 ,可以改为使用 Python 标准库的 datetime.strftime 调用 .apply

 >>> dates.apply(lambda x: x.strftime('%Y-%m-%d'))
0    2001-01-01
1    2001-03-31
dtype: object

原文由 EdChum 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题