У меня есть два кадра данных, которые выглядят так:
df1
a b c
0 foo None qux
1 foo bar None
2 foo None None
3 foo None qux
4 foo None None
df2
a b c
0 foo None qux
1 foo None qux
2 foo bar qux
3 foo bar None
4 foo bar None
Я думал, что делает
pd.merge(df1, df2, on=df1.columns.tolist(), how='inner')
вернется
a b c
0 foo None qux
1 foo None qux
2 foo bar None
и вместо этого получил это:
a b c
0 foo None qux
1 foo None qux
2 foo None qux
3 foo None qux
4 foo bar None
5 foo bar None
Могу ли я объединить df1 и df2, чтобы найти только пересечение этих двух? Как? Я не понимаю, как внутреннее объединение возвращает больше элементов, чем в отдельном df.