一、sort_values()用途
将数据集依照某个字段中的数据进行排序,该函数即可根据指定列数据也可根据指定行数据排序。
二、sort_values()函数的参数介绍
用法:
DataFrame.sort_values(by=‘##’,axis=0,ascending=True, inplace=False, na_position=‘last’)
参数介绍:
参数 | 用法 |
---|---|
by | 指定列名或索引值,即:根据哪列进行排序 |
axis | 若axis=0或’index’,则按照指定列中数据大小排序;若axis=1或’columns’,则按照指定索引中数据大小排序,默认axis=0 |
ascending | True:升序;False:降序,默认为True |
inplace | 是否用排序后的数据集替换原来的数据,默认为False,即不替换 |
na_position | {‘first’,‘last’},设定缺失值的显示位置 |
三、用法举例
创建DataFrame
import numpy as np
import pandas as pd
df=pd.DataFrame({'Disease':['A','A','B',np.nan,'D','C'],
'Drug':['a','a','b',np.nan,'d','c'],
'dose':[0,1,9,4,2,8]})
# np.nan正确表示缺失值
依据第一、二列,数据降序排序
print(df.sort_values(by=['Disease','Drug'],ascending=False))
依据第一列排序,并将该列空值放在首位
print(df.sort_values(by = ['Disease'],na_position='first'))
根据第三列中数值排序,按降序排列,并替换原数据
df.sort_values(by=['dose'],ascending=False,inplace=True)
print(df)
注意:如果上面的代码写成print(df.sort_values(by=['dose'], ascending=False, inplace=True),则会返回None,因为sort_values 当 inplace=True 时,不返回任何值,所以 print 输出的是 None。所以不能直接print或者直接给原代码赋值
按照索引值为0的行,即第一行的值来降序排序
x = pd.DataFrame({'x1':[1,2,2,3],'x2':[4,3,2,1],'x3':[3,2,4,1]})
print(x)
print(x.sort_values(by =0,ascending=False,axis=1))