我有一個 9 列的資料框(我的真實資料非常大)。我想考慮 4 x 4 列并構建一個包含 2 列的新資料框,顯示這 4 列的總和。這是一個簡單的例子:我想要 id 列。
import pandas as pd
df = pd.DataFrame()
df['id'] = [1, 2, 3, 4]
df['a'] = [10, 0, 1, 3]
df['b'] = [-10, 0, 2, 2]
df['c'] = [0, 1, 3, 3]
df['d'] = [0, 0, 4, 4]
df['e'] = [10, 0, 1, 3]
df['f'] = [10, 0, 2, 2]
df['g'] = [0, -1, 0, 0]
df['h'] = [0, 0, 0, 0]
df

uj5u.com熱心網友回復:
您可以使用底層的 numpy 陣列來輕松地重塑:
a = df.drop(columns='id').to_numpy()
N = 4 # number of columns to group
df2 = pd.DataFrame(a.reshape((len(df), -1, N)).sum(2),
columns=[f'value{x 1}' for x in range(a.shape[1]//N)],
index=df['id']).reset_index()
輸出:
id value1 value2
0 1 0 20
1 2 1 -1
2 3 10 3
3 4 12 5
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/467768.html
上一篇:在映射資料框中的值時得到了Nan
