用法:
DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, key=None)
参数讲解:
(看不懂没关系 下面有例子)
Example:
定义一个df
import pandas as pd
import numpy as np
df = pd.DataFrame({
'col1': ['A', 'A', 'B', np.nan, 'D', 'C'],
'col2': [2, 1, 9, 8, 7, 4],
'col3': [0, 1, 9, 4, 2, 3],
'col4': ['a', 'B', 'c', 'D', 'e', 'F']
})
#定义一个df
result:
example:
简单的升序降序
print(df.sort_values(by=['col1'])) #按照col1列进行升序(默认的)排列
print('\n')
print(df.sort_values(by='col1', ascending=False)) ##按照col1列进行降序排列
print('\n')
result:
example:
多列排序
print(df.sort_values(by=['col1', 'col2'])) #多列排序。按照col1、col2进行
result:
example&result:
涉及NaN和key
>>> df.sort_values(by='col1', ascending=False, na_position='first') #把NaN放在第一个
col1 col2 col3 col4
3 NaN 8 4 D
4 D 7 2 e
5 C 4 3 F
2 B 9 9 c
0 A 2 0 a
1 A 1 1 B
>>> df.sort_values(by='col4', key=lambda col: col.str.lower()) ##按照col4进行升序排列,并将
col4中字符串所有大写字符转
化为小写。
col1 col2 col3 col4
0 A 2 0 a
1 A 1 1 B
2 B 9 9 c
3 NaN 8 4 D
4 D 7 2 e
5 C 4 3 F
pandas.DataFrame.sort_values — pandas 1.4.1 documentation