簡體   English   中英

根據pandas中的日期范圍創建FY

[英]Create FY based on the range of date in pandas

我正在處理日期和 FY。 我的工作數據集包含一萬行日期。 我想創建一個新列來標識季節或 FY。 樣本數據框如下:

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

以下是我的預期輸出:

在此處輸入圖片說明

我將如何定義范圍和季節? 謝謝,

澤普。

您可以使用基於月份的條件並在轉換為字符串后連接日期的年份部分

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM