如果我有两个数据框作为示例:
df1:
x y
0 1.1. 2.1
1 3.1 5.1
df2:
x y
0 0.0 2.2
1 1.1 2.1
2 3.0. 6.6
3 3.1 5.1
4 0.2 8.8
,并且我希望df2能够匹配具有相同值的顺序,但是在顺序之后保持不匹配的值,我该如何使用熊猫呢?也许还有其他东西。
所需的输出:
new_df:
x y
0 1.1 2.1
1 3.1. 5.1
2 0.0 2.2
3 3.0 6.6
4 0.2 8.8
第2-4行,我不关心顺序,只要匹配的行遵循与df1相同的顺序即可。我希望df1和df2的索引值相等
有什么办法吗?
对不起,如果我提交的方式不正确。
谢谢大家
答案 0 :(得分:3)
只需将merge
与indicator
一起使用作为默认排序
df1.merge(df2,indicator=True,how='right')
Out[354]:
x y _merge
0 1.1 2.1 both
1 3.1 5.1 both
2 0.0 2.2 right_only
3 3.0 6.6 right_only
4 0.2 8.8 right_only
答案 1 :(得分:2)
将pd.concat
与drop_duplicates
一起使用:
pd.concat([df1,df2]).drop_duplicates().reset_index(drop=True)
输出:
x y
0 1.1 2.1
1 3.1 5.1
2 0.0 2.2
3 3.0 6.6
4 0.2 8.8
答案 2 :(得分:1)