【发布时间】:2021-08-05 06:14:57
【问题描述】:
我想知道您是否可以帮我找到以下问题的解决方案。给定一个像这样的数据框 df1
d1={'L':['aaa','bbb','ccc','aaa','bbb','ddd'],
'w':[1,5,9,13,17,21],
'x':[2,6,10,14,18,22],
'y':[3,7,11,15,19,23],
'z':[4,8,12,16,20,24]}
df1=pd.DataFrame(d1)
和两个字典来定义对列和行的分组
dctRowGroups={'aaa':'A','bbb':'B','ccc':'A','ddd':'B'}
dctColGroups={'w':'ALPHA','x':'BETA','y':'ALPHA','z':'BETA'}
作为第一步,我想对列进行聚合。申请中
g2=df1.groupby(dctColGroups,axis=1)
g2.sum()
结果
但我想为下一步按行聚合保留“L”列,即结果应该是更像这样的数据帧 df2:
我需要编写什么代码才能做到这一点? 作为下一步,我想使用 dctRowGroups 字典在行上聚合 df2
g3=df2.groupby(dctRowGroups,axis=0)
g3.sum()
得到这样的最终结果:
我怎样才能用尽可能少的代码行完成所有这些步骤? 感谢您对此的建议。
非常感谢
威尔弗里德。
【问题讨论】:
标签: pandas dataframe group-by pivot aggregation