是否可以对熊猫数据框的每一行进行排序?
我不在乎列名或行索引,我只想要一个表,其中每行的值从最高到最低排序。
答案 0 :(得分:3)
IIUC,您可以将numpy数据中的np.sort
与axis=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
是默认的。