【发布时间】: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