Encontrar filas comunes (intersección) en dos marcos de datos de Pandas

Supongamos que tengo dos marcos de datos de este formato (llámalosdf1 ydf2):

+------------------------+------------------------+--------+
|        user_id         |      business_id       | rating |
+------------------------+------------------------+--------+
| rLtl8ZkDX5vH5nAx9C3q5Q | eIxSLxzIlfExI6vgAbn2JA |      4 |
| C6IOtaaYdLIT5fWd7ZYIuA | eIxSLxzIlfExI6vgAbn2JA |      5 |
| mlBC3pN9GXlUUfQi1qBBZA | KoIRdcIfh3XWxiCeV1BDmA |      3 |
+------------------------+------------------------+--------+

Estoy buscando obtener un marco de datos de todas las filas que tienen un comúnuser_id endf1 ydf2. (es decir, si unuser_id está en ambosdf1 ydf2, incluya las dos filas en el marco de datos de salida)

Puedo pensar en muchas maneras de abordar esto, pero todas me parecen torpes. Por ejemplo, podríamos encontrar todos los únicos.user_idEn cada marco de datos, cree un conjunto de cada uno, encuentre su intersección, filtre los dos marcos de datos con el conjunto resultante y concatene los dos marcos de datos filtrados.

Tal vez sea el mejor enfoque, pero sé que Pandas es inteligente. ¿Hay una manera más sencilla de hacer esto? He miradomerge Pero no creo que sea eso lo que necesito.

Respuestas a la pregunta(3)

Su respuesta a la pregunta