簡體   English   中英

熊貓:計算數據框每列n個值的一組平均值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM