[英]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.