我有一个这样的数据框:
customer_id | date | category
1 | 2017-2-1 | toys
2 | 2017-2-1 | food
1 | 2017-2-1 | drinks
3 | 2017-2-2 | computer
2 | 2017-2-1 | toys
我想将此数据帧转换为此:
customer_id | toys | food | drinks | computer
1 | 1 | 0 | 1 | 0
2 | 1 | 1 | 0 | 0
3 | 0 | 0 | 0 | 1
我想按customer_id和date分组,一种对类别进行热编码的方式,以显示该客户是否在同一天购买了这些类别中的商品。
我知道groupby()
方法,并且尝试使用df.groupby(['customer_id', 'date'])
,但这似乎不起作用,而且我无法弄清楚如何在'category'
的新列中创建值。
我看过有关pivot_table()
的帖子,但找不到关于将每一行限制在同一天之内的任何信息
谢谢。