gpt4 book ai didi

python - 根据 pandas 中的日期范围创建 FY

转载 作者:行者123 更新时间:2023-12-01 08:46:40 25 4
gpt4 key购买 nike

我正在处理日期和财年。我的工作数据集包含数万行带有日期的行。我想创建一个新列来标识季节或财年。示例数据框如下:

df = pd.DataFrame()
df['date'] = ['10/08/2018','12/09/2018','15/08/2017','16/05/2018']

我想做的是根据日期范围创建一个新列季节。例如,如果日期的月份是从八月到六月,则将被视为一个季节。这意味着日期范围为 01/08/2005 到 30/06/2006,赛季为 2005-06。

对于示例日期范围,预期输出如下:

  date      season
10/082018 2018-19
12/09/2018 2018-19
15/08/2017 2017-18
16/05/2018 2017-18

以下是我的预期输出:

enter image description here

我如何定义范围和季节?谢谢,

泽普。

最佳答案

可以使用基于月份的条件,将日期转换为字符串后连接年份部分

df.date = pd.to_datetime(df.date, format = '%d/%m/%Y')
cond = df.date.dt.month >=8
df['season'] = np.where(cond, df.date.dt.year.apply(str) + '-' + (df.date.dt.year+1).apply(str).str[2:], (df.date.dt.year-1).apply(str) + '-' + df.date.dt.year.apply(str).str[2:])


date season
0 2018-08-10 2018-19
1 2018-09-12 2018-19
2 2017-08-15 2017-18
3 2018-05-16 2017-18

关于python - 根据 pandas 中的日期范围创建 FY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53274077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com