Python Pandas:聚合大型列的子集而不明确地输入它们

Tuu*_*nas 0 python subset aggregation dataframe pandas

我正在尝试对我的数据帧进行聚合.问题是我需要聚合超过一百列.现在我把它们全部打印出来

df_grouped = df.groupby(['Column1'])['Column2','Column3','Column4','Column5'].sum()
Run Code Online (Sandbox Code Playgroud)

直到最后一栏.如果必须进行更改,则非常烦人且难以维护.有没有办法在没有明确输入的情况下引用这些列?

Ian*_*anS 5

您可以按差异定义列:

df_grouped = df.groupby(['Column1'])[
    df.columns.difference(columns_to_exclude + ['Column1'])
].sum()
Run Code Online (Sandbox Code Playgroud)

请注意,该方法difference使用集合,因此无法保证列的顺序.