【问题标题】:Is there in pandas operation complementary (opposite) to groupby?熊猫操作中是否有与 groupby 互补(相反)的?
【发布时间】:2013-05-24 09:44:46
【问题描述】:

我有一个包含许多列的表(数据框)。现在我想对其中一列的值进行平均。这意味着我需要对所有列进行分组,除了我需要平均的那一列。我当然可以写:

df.groupby(['col1', 'col2', 'col3', 'col4', 'col5'])['vals'].mean()

但如果我能做这样的事情就好了:

df.groupby(['col6'], something='reverse')['vals'].mean()

熊猫有可能吗?

【问题讨论】:

  • 你能举一个你想要的例子吗?要计算一列的平均值,不需要进行 groupby 操作:df['col6'].mean()
  • 意思,只是一个例子。一般来说,我希望能够按除上述列之外的所有列进行分组。
  • 最好提供您的部分数据作为输入,以及您的预期输出。

标签: python group-by dataframe pandas


【解决方案1】:

您正在搜索现有列表的补充列。你可以玩df.columns。它代表一个Index 对象,允许进行一些有趣的操作。

df.columns.drop(['col6']) 返回一个Index,其中删除了作为参数传递的列列表。您可以将其转换为列表并将其用作groupby 参数:

df.groupby(df.columns.drop(['col6']).tolist())['vals'].mean()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-06
    • 2022-07-05
    • 2017-03-22
    • 2018-07-03
    • 1970-01-01
    • 2021-07-16
    • 2019-02-28
    • 2019-05-01
    相关资源
    最近更新 更多