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

2024-10-01 00:26:56 发布

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

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

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

Tags: 数据dateindex平均数cath
2条回答

IIUC公司

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

你的数学似乎有点古怪(例如,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

相关问题 更多 >