假设我有两个数据帧,上图中的 df1 和 df2。 我想根据 df2 的 Col2 对 df1 进行排序。
所以 df1 的最终结果应该看起来像图片中的第三个数据帧,其中 Col2 具有相同的值,在 df2 中排序。
请您参考如下方法:
为此,您可以结合使用 set_index 和 reindex。
试试这段代码:
df1 = pd.DataFrame({'Col1': ['a','b','c','d','e'], 'Col2':
['chocolate','chicken','pizza','icecream','cake'] })
Out :
Col1 Col2
0 a chocolate
1 b chicken
2 c pizza
3 d icecream
4 e cake
df2 = pd.DataFrame({'Col1': ['f','g','h','i','j'], 'Col2': ['chicken','cake','icecream','chocolate','pizza'] })
Out :
Col1 Col2
0 f chicken
1 g cake
2 h icecream
3 i chocolate
4 j pizza
df1 = df1.set_index('Col2')
df1 = df1.reindex(index=df2['Col2'])
df1 = df1.reset_index()
Out :
Col2 Col1
0 chicken b
1 cake e
2 icecream d
3 chocolate a
4 pizza c
