Python:如何将多个数据框与条件合并?

时间:2019-08-23 09:01:54

标签: python pandas

我有一个数据框,其中包含两个不同的IDs列表。

df
    ID1  ID2
0    0   35
1    0   35
2    1   33
3    2   27

然后我有两个数据框df1df2,其中包含此类IDs的坐标。

df1
     ID1   x    y
0     0   1.3  2.3
1     1   2.5  7.2
3     2   4.5  4.5


df2
     ID2   x    y
0    27   3.6  4.5
1    33   3.3  2.3
2    35   2.3  2.5

如果要重复df的座标,我想将ID1的坐标分配给ID2,如果ID1仅在{{ 1}}

最后我想要类似的东西

df

2 个答案:

答案 0 :(得分:2)

我认为这可以解决问题:

<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>default</realm-name>
</login-config>

答案 1 :(得分:0)

试试这个

df3 = (df[df.duplicated(subset='ID1')]).merge(df1, how='left')
df4 = (df.drop_duplicates(subset='ID1')).merge(df2, on='ID2')
df5 = df3.merge(df4, how='outer').drop_duplicates(subset='ID1', keep='first')
df5.reindex(df.index, method='ffill')