Python 根据两列对数据帧进行加权排序

Python 根据两列对数据帧进行加权排序,python,pandas,sorting,dataframe,Python,Pandas,Sorting,Dataframe,我有一个熊猫数据框,我想把它分为两列。使用df.sort_值(['col1','col2',],升序=False)它首先用col1排序,然后用col2排序。然而,我想做的是对两列进行排序,赋予它们相同的重要性,即排序时考虑了两列,而不是先考虑一列再考虑另一列。我该怎么做 编辑:col1是float,表示一个百分比,col2也是float,但不是百分比。试试这个 df['Rank']=df.col1.rank()+df.col2.rank() df.sort_values('Rank',ascen

我有一个熊猫数据框,我想把它分为两列。使用
df.sort_值(['col1','col2',],升序=False)
它首先用col1排序,然后用col2排序。然而,我想做的是对两列进行排序,赋予它们相同的重要性,即排序时考虑了两列,而不是先考虑一列再考虑另一列。我该怎么做

编辑:col1是float,表示一个百分比,col2也是float,但不是百分比。试试这个

df['Rank']=df.col1.rank()+df.col2.rank()
df.sort_values('Rank',ascending=False).drop('Rank',axis=1)

根据您对“同等重要性”的理解,将两列合并为一列,然后按新列排序。列的数据类型是什么?我不能将两列合并为一列,它们都是浮点值,但一个是百分比,另一个不是。是的,这正是我想要的。非常感谢你!另外,因为我想在同一帧中得到结果,所以我只需将df=df.sort_值('Rank',升序=False)。drop('Rank',axis=1)