我有一个数据框 df,其中包含以下列:
df['ArrivalDate'] =
...
936 2012-12-31
938 2012-12-29
965 2012-12-31
966 2012-12-31
967 2012-12-31
968 2012-12-31
969 2012-12-31
970 2012-12-29
971 2012-12-31
972 2012-12-29
973 2012-12-29
...
该列的元素是 pandas.tslib.Timestamp。
我只想包括年份和月份。我以为会有简单的方法来做到这一点,但我无法弄清楚。
这是我尝试过的:
df['ArrivalDate'].resample('M', how = 'mean')
我收到以下错误:
Only valid with DatetimeIndex or PeriodIndex
然后我尝试了:
df['ArrivalDate'].apply(lambda(x):x[:-2])
我收到以下错误:
'Timestamp' object has no attribute '__getitem__'
有什么建议么?
编辑:我有点想通了。
df.index = df['ArrivalDate']
然后,我可以使用索引对另一列重新采样。
但我仍然想要一种重新配置整个列的方法。有任何想法吗?
原文由 monkeybiz7 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你想要新的列分别显示年份和月份,你可以这样做:
要么…
然后您可以组合它们或按原样使用它们。