在Pandas中将行转换为列和一种热编码

时间:2018-07-25 18:35:43

标签: python-3.x pandas dataframe pivot-table pandas-groupby

我有一个这样的数据框:

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()的帖子,但找不到关于将每一行限制在同一天之内的任何信息

谢谢。

0 个答案:

没有答案