根据Pandas的日期范围创建FY

2024-06-06 23:40:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做约会和FY。 我的工作数据集包含有日期的上万行。 我想创建一个新的专栏来确定季节或财政年度。 示例数据框如下:

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

我想做的是根据日期范围创建一个新的列季节。 例如, 如果日期的月份是从8月到6月,它将被视为一个季节。 从2005年6月30日到2006年6月30日。在

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

^{pr2}$

以下是我的预期产出:

enter image description here

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

泽普。在


Tags: 数据示例dataframedfdate定义pd约会
1条回答
网友
1楼 · 发布于 2024-06-06 23:40:12

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

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

相关问题 更多 >