根据相应的数据重新排序行值

时间:2019-03-15 00:06:04

标签: python pandas

一段时间以来,我一直在寻找一种解决方案,但似乎找不到。我只有5列用作个体的ID代码,还有5列指示其身高。我的目标是根据ID的相应高度对ID进行排名。任何解决此问题的想法将不胜感激。

Person ID (Ranked by Person Height)             
ID1     ID2     ID3     ID4     ID5
202331  1628390 203924  201566  203500
202329  203468  203081  203994  203090

预期结果:

{{1}}

1 个答案:

答案 0 :(得分:1)

使用sorted检查并在此之后重新创建数据框

l=[[y for _,y in sorted(zip(X, Y))] for Y , X  in zip(df1.values.tolist(),df2.values.tolist())]
sorteddf=pd.DataFrame(l,columns=df1.columns)
sorteddf
Out[20]: 
      ID1      ID2     ID3     ID4     ID5
0  202331  1628390  203924  201566  203500
1  202329   203468  203081  203994  203090