yen*_*eng 0 python dataframe pandas
我有一个数据帧:
import pandas as pd
df = pd.DataFrame(data={'x':[7,1,9], 'y':[4,5,6],'z':[1,8,3]}, index=['a', 'b', 'c'])
Run Code Online (Sandbox Code Playgroud)
表明:
如何按行['a']对此数据帧进行排序:对数据帧进行排序后,可能是:
In [7]: df.iloc[:, np.argsort(df.loc['a'])]
Out[7]:
z y x
a 1 4 7
b 8 5 1
c 3 6 9
Run Code Online (Sandbox Code Playgroud)
np.argsort返回用于对a行进行排序的索引df.loc['a']:
In [6]: np.argsort(df.loc['a'])
Out[6]:
x 2
y 1
z 0
Name: a, dtype: int64
Run Code Online (Sandbox Code Playgroud)
获得这些索引后,可以使用它们对df(通过使用df.iloc)的列重新排序.