【问题标题】:working with groupby multiple columns in Python在 Python 中使用 groupby 多列
【发布时间】:2016-08-01 14:45:05
【问题描述】:

我在一个数据框中有 3 列,如:

User_ID、Product_Category_1 和相应的购买金额。

我正在尝试根据 User_ID 和 Product_Category_1 进行分组,并选择平均购买金额。

因此输出数据框将具有:User_ID、Product_Category_1 和 Avg_Purchase。

这对我不起作用:

x=train_bk.groupby(["User_ID","Product_Category_1"],as_index=False)['Purchase'].transform('mean')

这给了我一系列每行的采购平均值。但是我只需要保留唯一的 User_ID 和 Product_Category_1 组合

   x1 = train_bk.select(Average(train_bk.User_ID), train_bk.Product_Category_1,
          group_by=(train_bk.User_ID,train_bk.Product_Category_1))

我从 sql 包中尝试过这个。但它会引发错误:“未定义名称'Average'”。在 python 中也有一个很好的包,它的 SQL 语法类似于 Teradata 或 MYSQL。

【问题讨论】:

    标签: python group-by multiple-columns


    【解决方案1】:

    好的,这似乎有效:

       x = train_bk.groupby(["User_ID","Product_Category_1"],as_index=False)['Purchase'].mean()
    

    【讨论】:

      猜你喜欢
      • 2021-02-08
      • 1970-01-01
      • 1970-01-01
      • 2022-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      • 1970-01-01
      相关资源
      最近更新 更多