首页 > 解决方案 > Python Pandas 按所有列分组

问题描述

我正在对大约 40 多列的多个表进行测试,我需要为每个单独的列运行一个 group by 命令。有没有办法简化这个?

标签: pandaspandas-groupby

解决方案


为了对过程进行更多控制(即,如果您想命名分组测试的每个结果),您可以在遍历所有列df.groupby()的循环内使用。for

一个最小的可重现示例仍然值得赞赏。

更新:细节可能会有所不同,但我会这样做,以便将每个分组对象存储在字典中,其中键是列名:

cols = df.columns.values.tolist()
results = {}
for col in cols:
    results[col] = df.groupby([col])
#End

但是,请注意,此操作将生成pandas.core.groupby.DataFrameGroupBy不是数据帧的对象。


推荐阅读