假设数据已经被加载到一个名为 data 的 pandas DataFrame 中,以下是保留 data 中有 userid 列和 itemid 列,并且至少被一个用户点击的项目的代码:

# 找到至少被一个用户点击的项目
clicked_items = set(data[data['interaction_type'] == 'click']['item_id'].unique())

# 保留有 userid 列和 itemid 列,并且至少被一个用户点击的项目
data = data[(data['user_id'].notnull()) & (data['item_id'].notnull()) & (data['item_id'].isin(clicked_items))]

解释:

  1. 第一行代码找到至少被一个用户点击的项目。首先,我们使用数据中的 interaction_type 列,过滤出所有点击事件,然后使用 unique() 方法找到所有独特的项目 ID,并将它们放入一个集合中。
  2. 第二行代码保留有 userid 列和 itemid 列,并且至少被一个用户点击的项目。首先,我们使用 notnull() 方法过滤出 user_id 和 item_id 列中不为空的行。然后,我们使用 isin() 方法,过滤出 item_id 列中包含在 clicked_items 集合中的值的行。最后,我们用这些行替换原始的 data DataFrame。
Python Pandas: 过滤用户点击过的项目

原文地址: https://www.cveoy.top/t/topic/n2do 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录