用法:
Series.sort_values(axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, key=None)
按值排序。
按某些標準按升序或降序對係列進行排序。
- axis:{0 或 ‘index’},默認 0
軸直接排序。接受值 ‘index’ 是為了與 DataFrame.sort_values 兼容。
- ascending:bool 或 bool 列表,默認為 True
如果為 True,則按升序對值進行排序,否則按降序排序。
- inplace:布爾值,默認為 False
如果為 True,則就地執行操作。
- kind:{‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’},默認 ‘quicksort’
排序算法的選擇。另請參閱
numpy.sort()
了解更多信息。 ‘mergesort’ and ‘stable’ 是唯一穩定的算法。- na_position:{‘first’ or ‘last’},默認 ‘last’
參數 ‘first’ 將 NaN 放在開頭,‘last’ 將 NaN 放在末尾。
- ignore_index:布爾值,默認為 False
如果為 True,則生成的軸將標記為 0、1、...、n - 1。
- key:可調用的,可選的
如果不是無,則在排序前將鍵函數應用於序列值。這與內置
sorted()
函數中的key
參數類似,但顯著的區別是該key
函數應該被矢量化。它應該期望Series
並返回 array-like。
- 係列或無
係列按值排序,如果
inplace=True
則為無。
參數:
返回:
例子:
>>> s = pd.Series([np.nan, 1, 3, 10, 5]) >>> s 0 NaN 1 1.0 2 3.0 3 10.0 4 5.0 dtype:float64
對值進行升序排序(默認行為)
>>> s.sort_values(ascending=True) 1 1.0 2 3.0 4 5.0 3 10.0 0 NaN dtype:float64
對值進行降序排序
>>> s.sort_values(ascending=False) 3 10.0 4 5.0 2 3.0 1 1.0 0 NaN dtype:float64
就地排序值
>>> s.sort_values(ascending=False, inplace=True) >>> s 3 10.0 4 5.0 2 3.0 1 1.0 0 NaN dtype:float64
排序值,將 NA 放在首位
>>> s.sort_values(na_position='first') 0 NaN 1 1.0 2 3.0 4 5.0 3 10.0 dtype:float64
對一係列字符串進行排序
>>> s = pd.Series(['z', 'b', 'd', 'a', 'c']) >>> s 0 z 1 b 2 d 3 a 4 c dtype:object
>>> s.sort_values() 3 a 1 b 4 c 2 d 0 z dtype:object
使用鍵函數進行排序。您的
key
函數將被賦予Series
值,並應返回array-like。>>> s = pd.Series(['a', 'B', 'c', 'D', 'e']) >>> s.sort_values() 1 B 3 D 0 a 2 c 4 e dtype:object >>> s.sort_values(key=lambda x:x.str.lower()) 0 a 1 B 2 c 3 D 4 e dtype:object
NumPy ufunc 在這裏運行良好。比如我們可以按照值的
sin
排序>>> s = pd.Series([-4, -2, 0, 2, 4]) >>> s.sort_values(key=np.sin) 1 -2 4 4 2 0 0 -4 3 2 dtype:int64
可以使用更複雜的用戶定義函數,隻要它們期望一個係列並返回一個array-like
>>> s.sort_values(key=lambda x:(np.tan(x.cumsum()))) 0 -4 3 2 4 4 1 -2 2 0 dtype:int64
相關用法
- Python pandas.Series.sort_index用法及代碼示例
- Python pandas.Series.str.isdecimal用法及代碼示例
- Python pandas.Series.str.get用法及代碼示例
- Python pandas.Series.sample用法及代碼示例
- Python pandas.Series.str.replace用法及代碼示例
- Python pandas.Series.str.endswith用法及代碼示例
- Python pandas.Series.str.isspace用法及代碼示例
- Python pandas.Series.str.isdigit用法及代碼示例
- Python pandas.Series.set_axis用法及代碼示例
- Python pandas.Series.str.wrap用法及代碼示例
- Python pandas.Series.sparse.to_coo用法及代碼示例
- Python pandas.Series.str.isalnum用法及代碼示例
- Python pandas.Series.str.zfill用法及代碼示例
- Python pandas.Series.set_flags用法及代碼示例
- Python pandas.Series.sub用法及代碼示例
- Python pandas.Series.str.partition用法及代碼示例
- Python pandas.Series.str.isnumeric用法及代碼示例
- Python pandas.Series.str.startswith用法及代碼示例
- Python pandas.Series.sparse.npoints用法及代碼示例
- Python pandas.Series.str.count用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.Series.sort_values。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。