我有一个包含三列的pandas df,purchase_day,customer_name,products_purchased。
我想返回每个客户访问商店的天数。所以我用了
gpd = df.groupby(by=['customer_name', 'purchase_day']).count()
不幸的是,对于这个返回的表格,由于格式异常(其中customer_name和purchase_days不在第一行但在第二行中),我无法在其上运行groupby。
任何提示,以便我可以计算每个客户访问商店的purchase_days数量?
答案 0 :(得分:1)
您需要做的是重置索引。
由于您将.groupby
数据框应用于多列,
返回的数据帧将有MultiIndex。
gpd = df.groupby(by=['customer_name', 'purchase_day']).count().reset_index()
此外,您仍然可以将.groupby
应用于多索引数据框。
方法pandas.DataFrame.groupby
的{{3}},
有一个段level
可用于将多重指数设置为groupby列。
此处有一个SO帖子,您可以查看documentation。