2017-06-22 226 views
1

交叉表支點,我有以下數據幀DF:蟒蛇大熊貓由同一類別

Product | Client_ID | transaction_id | return 
A   984574   123    Y 
B   984574   123    0 
A   365366   234    0 
A   467683   356    Y 

我想創造一個支點見客戶在同一事務買什麼其他產品時,他們返回一個項目。

因此,這將是上面的例子輸出:

Product A  B 
A   0  1 
B   0  0 

我嘗試這樣做,但得到一個錯誤:

pd.pivot_table(df,index=["return",'Product'],values=["Client_id"], 
       columns=["Product"],aggfunc=lambda x: len(x.unique())) 

ValueError: Grouper for 'Product' not 1-dimensional 
+0

不應該b排山坳也是1 ? – piRSquared

回答

1
d1 = df.merge(df, on='Client_ID').query('Product_x != Product_y') 
pd.crosstab(d1.Product_x, d1.Product_y) 

Product_y A B 
Product_x  
A   0 1 
B   1 0