假设我有两个这种格式的数据帧(称为 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_id
,创建每个数据帧的集合,找到它们的交集,用结果集过滤两个数据帧,并将两个过滤后的数据帧连接起来。
也许这是最好的办法,但我知道熊猫很聪明。还有更简单的方法吗?我看过 merge
,但我不认为那是我需要的。