Gla*_*rk1 7 datetime dataframe pandas
这一定很简单,但找不到答案 - 有一个带有日期的数据框,我只需要添加一个财政年度列(4月1日 - 3月31日) - 例如 15/5/19 将返回 2019 或 2019 - 20.
我可能可以用 for 循环来做到这一点,但我猜数据框中还有更好的方法?
if base_date.month > 3:
fin_year = base_date.year
else:
fin_year = base_date.year-1
Run Code Online (Sandbox Code Playgroud)
Qua*_*ang 10
实际上,有一个函数可以做到这一点:
s.dt.to_period('Q-OCT').dt.qyear
Run Code Online (Sandbox Code Playgroud)
假设您的日期列是base_date并且是日期时间对象,这将起作用:
df['financial_year'] = df['base_date'].map(lambda x: x.year if x.month > 3 else x.year-1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6547 次 |
| 最近记录: |