【发布时间】:2022-05-10 23:10:41
【问题描述】:
假设我有两个这种格式的数据帧(称它们为df1 和df2):
+------------------------+------------------------+--------+
| user_id | business_id | rating |
+------------------------+------------------------+--------+
| rLtl8ZkDX5vH5nAx9C3q5Q | eIxSLxzIlfExI6vgAbn2JA | 4 |
| C6IOtaaYdLIT5fWd7ZYIuA | eIxSLxzIlfExI6vgAbn2JA | 5 |
| mlBC3pN9GXlUUfQi1qBBZA | KoIRdcIfh3XWxiCeV1BDmA | 3 |
+------------------------+------------------------+--------+
我正在寻找在df1 和df2 中具有共同user_id 的所有行的数据框。 (即如果user_id 在df1 和df2 中,则在输出数据帧中包含这两行)
我可以想出很多方法来解决这个问题,但它们都让我觉得笨拙。例如,我们可以在每个数据帧中找到所有唯一的user_ids,创建一个集合,找到它们的交集,用结果集过滤两个数据帧并将两个过滤后的数据帧连接起来。
也许这是最好的方法,但我知道 Pandas 很聪明。有没有更简单的方法来做到这一点?我看过merge,但我认为这不是我需要的。
【问题讨论】:
标签: python pandas dataframe intersect