Python 熊猫对所有行进行排序

Python 熊猫对所有行进行排序,python,pandas,numpy,dataframe,Python,Pandas,Numpy,Dataframe,是否有方法对数据帧的每一行进行排序 我不关心列名或行索引,我只想要一个表,其中每行的值从最高到最低排序 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.

是否有方法对数据帧的每一行进行排序


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

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