我有一个数据框,我想通过根据行数进行平均来重新采样。
例如,我想按每三行进行聚合:
A B C
0 3 4 5
1 5 1 4
2 4 3 5
3 1 5 5
4 3 4 5
5 5 5 5
6 5 0 2
7 4 0 2
8 3 2 2
结果是:
A B C
0 4.0 2.7 4.7
1 3.0 4.7 5.0
2 4.0 0.7 2.0
我尝试过以下排列:
mdf.groupby('index1')['attr'].mean()
但最终出现 KeyError: 'index1'
正如@Raymond 在评论中正确提到的那样,您可以添加一列作为索引并按该索引进行分组,
num_rows=3
mdf['index1']=np.arange(0, len(mdf))//num_rows
mdf=mdf.groupby('index1').mean()