2017-02-21 49 views
0

我有三列,purchase_day,CUSTOMER_NAME,products_purchased一个大熊猫DF。GROUPBY在大熊猫混乱与排索引

我想回到每个客户走访卖场的天数的数组。所以我用

gpd = df.groupby(by=['customer_name', 'purchase_day']).count() 

它返回一个表,看起来像: enter image description here

不幸的是这个返回的表,我不能在其上运行,因为不寻常的格式GROUPBY(其中CUSTOMER_NAME和purchase_days AREN” t在第一行但在第二行)。

任何提示,这样我可以计算每个客户在卖场走访时purchase_days的数量?

+0

你能在一张纸上添加实际结果作为代码,而不是拉吗?我很欣赏这种努力:P – miradulo

回答

1

你需要做的是重新索引什么。

既然你申请.groupby多列数据框,

数据帧返回将有一个MultiIndex

gpd = df.groupby(by=['customer_name', 'purchase_day']).count().reset_index()

你也仍然可以multiindexed数据框应用.groupby

在方法pandas.DataFrame.groupbydocumentation

有一个对level您可以使用设置multiindices为GROUPBY列。

有一个关于这一点,你可以检查出here SO线程。