熊猫对所有行进行排序

时间:2020-05-20 02:45:03

标签: python pandas numpy dataframe

是否可以对熊猫数据框的每一行进行排序?

我不在乎列名或行索引,我只想要一个表,其中每行的值从最高到最低排序。

1 个答案:

答案 0 :(得分:3)

IIUC,您可以将numpy数据中的np.sortaxis=1一起使用:

# sample data
np.random.seed(1)
df = pd.DataFrame(np.random.randint(1,10, (2,4)))

# output
pd.DataFrame(np.sort(df.values, axis=1)[:,::-1], 
             index=df.index, 
             columns=df.columns)

输出:

   0  1  2  3
0  9  6  6  1
1  8  7  2  1

如果您要覆盖原始数据框:

df[:] = np.sort(df.values, axis=1)[:,::-1]

更新np.sort(df)[:,::-1]也可以工作,df被向下转换为numpy数组,而axis=-1是默认的。