【发布时间】:2018-01-16 12:34:48
【问题描述】:
假设我在上图中有两个数据框 df1 和 df2。 我想根据 df2 的 Col2 对 df1 进行排序。
所以 df1 的最终结果应该看起来像图片中的第三个数据帧,其中 Col2 的值相同,按 df2 顺序排列。
【问题讨论】:
假设我在上图中有两个数据框 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
【讨论】: