gpt4 book ai didi

python - 从两个 DF 中删除具有不常见列值的行

转载 作者:太空宇宙 更新时间:2023-11-03 14:06:03 26 4
gpt4 key购买 nike

我有这两个DF

活跃:

Customer_ID | product_No| Rating
7 | 111 | 3.0
7 | 222 | 1.0
7 | 333 | 5.0
7 | 444 | 3.0

用户:

Customer_ID | product_No| Rating
9 | 111 | 2.0
9 | 222 | 5.0
9 | 666 | 5.0
9 | 555 | 3.0

我想找到两个用户都评价过的常见产品的评分(例如 111,222)并删除所有不常见的产品(例如 444,333,555,666)。所以新的 DF 应该是这样的:

活跃:

Customer_ID | product_No| Rating
7 | 111 | 3.0
7 | 222 | 1.0

用户:

Customer_ID | product_No| Rating
9 | 111 | 2.0
9 | 222 | 5.0

如果没有 for 循环,我不知道该怎么做。你能帮帮我吗?

这是我目前的代码:

import pandas as pd
ratings = pd.read_csv("ratings.csv",names['Customer_ID','product_No','Rating'])
active=ratings[ratings['UserID']==7]
user=ratings[ratings['UserID']==9]

最佳答案

可以先使用set intersection获取通用的product_No,然后使用isin方法对原始数据框进行过滤:

common_product = set(active.product_No).intersection(user.product_No)

common_product
# {111, 222}

active[active.product_No.isin(common_product)]

#Customer_ID product_No Rating
#0 7 111 3.0
#1 7 222 1.0

user[user.product_No.isin(common_product)]

#Customer_ID product_No Rating
#0 9 111 2.0
#1 9 222 5.0

关于python - 从两个 DF 中删除具有不常见列值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43432602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com