PythonPandas:从财政年度和月份中获取财政季度(对于英国)

oug3syen  于 2023-03-28  发布在  Python
关注(0)|答案(1)|浏览(77)

我有一个数据框,有两个有用的列1)财政年度,2)日期。我想添加一个新的列,显示财政季度。
英国财政年度从4月1日至3月31日
我的数据如下所示:

fiscal year  date
    FY15/16      2015-11-01
    FY14/15      2014-10-01
    FY15/16      2016-02-01

我希望它看起来像这样:

fiscal year  date        Quarter
    FY15/16      2015-11-01  q3
    FY14/15      2014-10-01  q3
    FY15/16      2016-02-01  q4

真希望我没算错硬币!
下面的代码工作,但我相信它返回美国的财务季度,但我想英国。

df['Quater'] = df['Date'].dt.quarter
ygya80vv

ygya80vv1#

import pandas as pd
df = pd.DataFrame({'date': ['2015-11-01', '2014-10-01', '2016-02-01'],
                   'fiscal year': ['FY15/16', 'FY14/15', 'FY15/16']})
df['Quarter'] = pd.PeriodIndex(df['date'], freq='Q-MAR').strftime('Q%q')
print(df)

收益率

date fiscal year Quarter
0  2015-11-01     FY15/16      Q3
1  2014-10-01     FY14/15      Q3
2  2016-02-01     FY15/16      Q4

默认的季度频率Q相当于Q-DEC

In [60]: pd.PeriodIndex(df['date'], freq='Q')
Out[60]: PeriodIndex(['2015Q4', '2014Q4', '2016Q1'], dtype='int64', freq='Q-DEC')

Q-DEC指定最后一个季度结束于12月最后一天的季度期间。Q-MAR指定最后一个季度结束于3月最后一天的季度期间。

In [86]: pd.PeriodIndex(df['date'], freq='Q-MAR')
Out[86]: PeriodIndex(['2016Q3', '2015Q3', '2016Q4'], dtype='int64', freq='Q-MAR')

相关问题