[英]Pandas:Calculate mean of a group of n values of each columns of a dataframe
我有以下類型的數據框:
A B
0 1 2
1 4 5
2 7 8
3 10 11
4 13 14
5 16 17
我想計算每列的前3個元素的平均值,然后計算接下來的3個元素,依此類推,然后存儲在數據框中。
期望的輸出
A B
0 4 5
1 12 14
使用分組依據是我想到的方法之一,但是在這種情況下,我無法弄清楚如何使用分組依據。
如果默認使用RangeIndex
則使用整數除法並傳遞給groupby
:
df = df.groupby(df.index // 3).mean()
print (df)
A B
0 4 5
1 13 14
詳細說明 :
print (df.index // 3)
Int64Index([0, 0, 0, 1, 1, 1], dtype='int64')
由DataFrame的長度創建的數組的一般解決方案-使用所有索引值:
df = df.groupby(np.arange(len(df)) // 3).mean()
詳細說明 :
print (np.arange(len(df)) // 3)
[0 0 0 1 1 1]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.