如何将Pandas datetime对象格式化为从2月到2月的财年,并以%Y显示?

5 投票
2 回答
3228 浏览
提问于 2025-04-17 20:58

我有一系列这样的时间戳,

3   2013-08-23 00:00:00
4   2008-09-21 00:00:00
5   2012-03-17 00:00:00
6   2011-12-31 00:00:00
7   2011-11-16 00:00:00
8   2008-01-23 00:00:00
9   2010-06-13 00:00:00

我想把它们转换成财政年度的格式,比如2010、2011等等。财政年度是从2月到1月的。我有点困惑——我需要使用偏移量吗?我该怎么把时间戳的表示方式改成只有财政年度的部分呢?

谢谢。

2 个回答

5
df['DATE'] = pd.to_datetime(df.DATE).dt.to_period('A-JAN')

这应该会更快,也更符合你的需求,因为 A-JAN 是一个财政年度,它在一月结束,而 A-FEB 则是在二月结束。想了解更多信息,可以查看频率字符串的说明

3

我找到了一种答案。可能这不是最好的答案,或者如果真的是,那也是运气好。

 df['DATE']=pd.to_datetime(df.DATE).apply(pd.Period, freq='A-FEB')

撰写回答