我有两个数据帧:

df1 =
a   b
1   555
2   555
4   555
4   555
5   555
6   555
7   555
8   555
15  555
1   555

以及
df2 =
a   b
2   666
2   666
3   666
4   666
5   666
2   666
3   666
9   666

我想在两个数据帧之间找到相同的columna值,并将它们放入新的数据帧(也包括其他列的值)。这里是b
期望输出为:
df3 =
    a   b
    2   555
    2   666
    2   666
    4   555
    4   555
    4   666
    …

等等。
我试过:
df3= pd.merge(df1, df2, on=['a'], how='inner')

但它给了我不同的东西

最佳答案

这与其他解决方案没有太大不同

set1 = set(df1["a"].tolist())
set2 = set(df2["a"].tolist())
inter = list(set1.intersection(set2))

df3 = pd.concat([df1[df1["a"].isin(inter)],
                 df2[df2["a"].isin(inter)]],
                  ignore_index=True)

关于python - 由不同数据框的唯一值组成的新数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58412603/

10-09 10:10