根据不同的列条件在python中筛选数据帧



我有一个Python中的数据帧,如下所示,我需要找到交易相同类别商品的客户(Customer_ID(,并查找大多数相关客户是否购买或出售相关类别。完成这些操作后,我应该了解他们中的哪一个正在使用Delivery、Download/Upload或两者兼有。对我来说,避免重复的行是很重要的(例如40275的customer_id在软件类别上有三个重复(,这应该算作一个。因此,我需要将用户分类为相同的类别,交付和下载/上传,而不重复。

类型交付下载/上传购买出售出售出售出售>真购买>真出售>真卖出购买<1td>正确出售出售出售>真购买购买真
Customer_ID 类别
40275 书籍
40275 软件错误正确
40275 软件错误正确
40275 软件错误正确
39900 糖果配方
39900 书籍
39900 软件
35886 账面错误正确
35886 书籍错误
35886 糖果配方错误正确
35886 软件错误正确
40350 软件
28129 软件错误正确
41571 软件

你看起来像这样吗:

>>> df.drop_duplicates().assign(value=1) 
.pivot(index=['Customer_ID', 'Category', 'Delivery', 'Download/Upload'], 
columns='Type', values='value') 
.fillna(0).astype(int).reset_index()
Type  Customer_ID              Category  Delivery  Download/Upload  Buy  Sell
0           28129              Software     False             True    1     0
1           35886                  Book     False             True    1     1
2           35886  Confectionery recipe     False             True    0     1
3           35886              Software     False             True    0     1
4           39900                  Book      True             True    1     0
5           39900  Confectionery recipe      True             True    0     1
6           39900              Software      True             True    0     1
7           40275                  Book      True             True    1     0
8           40275              Software     False             True    0     1
9           40350              Software      True             True    0     1
10          41571              Software      True             True    1     0

最新更新