python – 如何重新排序数据帧的顺序以匹配第二个数据帧的顺序?

如果我有两个数据帧作为示例:

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匹配匹配值的常见顺序,但保持订单后不匹配的值,我将如何使用pandas?或者别的什么的.

期望的输出:

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的索引值相等

任何方式这样做?

对不起,如果我提交的方式是错误的.

多谢你们

最佳答案 只需使用合并指标排序作为默认值

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
点赞