【发布时间】:2017-06-08 02:19:47
【问题描述】:
我有一个 pandas 数据框,其中第一列 (CUSTOMER) 是客户的姓名,并且对于客户购买的每个产品 (PRODUCT),客户的姓名都会重复一次:
Customer Product Count
John A 1
John B 1
John C 1
Mary A 1
Mary B 1
Charles A 1
我想旋转这些数据以创建一个新的数据框,其中行和列都是产品 (PRODUCT) 的类别,值是客户姓名的计数,如下所示:
Product
A B C
A 0 2 1
B 2 0 1
C 1 1 0
所以如果约翰买了 A 也买了 B,+1 将添加到 A:B 单元格,他还购买了 A 和 C 组合,所以 A:C 单元格上有 +1,依此类推.请注意,Charles 没有出现在此数据框中,因为他只购买了一种产品。
我尝试使用 pandas.pivot_table 但这是我得到的:
df = pd.pivot_table(df, index=['Product'], columns=['Product'], values=['Customer'])
>> KeyError: 'Level Product not found'
我应该使用什么方法和参数?
【问题讨论】: