2017-06-22 10 views
1

をタブピボットを渡る私は、次のデータフレームDFを持っている:Pythonのパンダが同じカテゴリで

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 COL Aはまた、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 
関連する問題