rha*_*ett 3 python pandas pandas-groupby
我有一个数据框,我们可以通过
df = pd.DataFrame({'a':[1,0,0], 'b':[0,1,0], 'c':[1,0,0], 'd':[2,3,4]})
Run Code Online (Sandbox Code Playgroud)
和一个类别系列
category = pd.Series(['A', 'B', 'B', 'A'], ['a', 'b', 'c', 'd'])
Run Code Online (Sandbox Code Playgroud)
我想将df列的总和分为“ A”,“ B”类别。也许像:
result = df.groupby(??, axis=1).sum()
Run Code Online (Sandbox Code Playgroud)
返回
result = pd.DataFrame({'A':[3,3,4], 'B':[1,1,0]})
Run Code Online (Sandbox Code Playgroud)
在列上使用groupby+ sum(axis=1此处很重要):
df.groupby(df.columns.map(category.get), axis=1).sum()
A B
0 3 1
1 3 1
2 4 0
Run Code Online (Sandbox Code Playgroud)