2017-02-21 34 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線程。