如何根据季度数据计算一年的平均值?

时间:2019-11-12 17:19:48

标签: python pandas

我有这个数据框,我想计算每年的平均数量

index   cath_date
1   2017Q4  111
2   2017Q3  107
3   2018Q2  105
4   2017Q2  105
5   2017Q1  101
7   2018Q3  98
8   2016Q3  97
9   2018Q1  94
10  2018Q4  91
11  2016Q1  91
12  2015Q4  85
13  2016Q4  83
14  2016Q2  81
15  2015Q3  80
16  2015Q2  67
18  2015Q1  28

最后拥有这样的数据框

index   cath_date
1   2015    28
2   2016    87
3   2017    87
4   2018    97

2 个答案:

答案 0 :(得分:3)

您的数学似乎有点时髦(例如2015的最小值为28,那么平均值怎么可能是28?),但是您可以.groupby的前4个字符计算出意思是:

In [6]: df.groupby(df['index'].str.slice(0, 4)).mean()
Out[6]:
       cath_date
index
2015          65
2016          88
2017         106
2018          97

答案 1 :(得分:0)

IIUC,

df.groupby(df['index'].apply(lambda i:i[:4]))['cath_date'].mean().reset_index()