我想分別處理 DataFrame 的每 N 行。
如果我的資料有 15 行索引從 0 到 14 我想處理從索引 0 到 3、4 到 7、8 到 11、12 到 15
的行例如讓我們說每 4 行我想要 sum(A) 和平均值(B)
| 指數 | 一種 | 乙 |
|---|---|---|
| 0 | 4 | 4 |
| 1 | 7 | 9 |
| 2 | 9 | 3 |
| 3 | 0 | 4 |
| 4 | 7 | 9 |
| 5 | 9 | 2 |
| 6 | 3 | 0 |
| 7 | 7 | 4 |
| 8 | 7 | 2 |
| 9 | 1 | 6 |
結果資料幀應該是
| 指數 | 一種 | 乙 |
|---|---|---|
| 0 | 20 | 5 |
| 1 | 26 | 3.75 |
| 2 | 8 | 4 |
TLDR:如何讓一次DataFrame.apply取多行而不是單行
uj5u.com熱心網友回復:
GroupBy.agg與4按索引的整數除法一起使用:
#default RangeIndex
df = df.groupby(df.index // 4).agg({'A':'sum', 'B':'mean'})
#any index
df = df.groupby(np.arange(len(df.index)) // 4).agg({'A':'sum', 'B':'mean'})
print (df)
A B
0 20 5.00
1 26 3.75
2 8 4.00
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/355105.html
上一篇:適用于macOS的SwiftUI3.0:如何將.frame設定為以最大螢屏空間打開
下一篇:創建從資料幀行中提取的多條線圖
