原理类似于SQL中的order by,该函数即可根据指定列数据也可根据指定行的数据排序。
一、函数用途Docstring:
Sort by the values along either axis(沿着任意一个轴按值排序)
形式:
Dataframe.sort_values(by=‘xxx’,axis=0,ascending=True, inplace=False, na_position=‘last’)
| 参数 | 说明 |
|---|---|
| by | 指定列名(axis=0或’index’)或索引值(axis=1或’columns’) |
| axis | 默认axis=0行列排序,axis=1按行排序 |
| ascending | 选择升序(默认true),或者降序(false) |
| inplace | 默认为False,即不替换 |
| na_position | {‘first’, ‘last’}, default 'last’表示空值位置 |
3-1创建数据Dataframe数据框
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']
... })
print(df)
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
3-2Sort by col1(按照col1排序)
>>> df.sort_values(by=['col1']) col1 col2 col3 col4 0 A 2 0 a 1 A 1 1 B 2 B 9 9 c 5 C 4 3 F 4 D 7 2 e 3 NaN 8 4 D
3-3Sort by multiple columns(按多列排序)
>>> df.sort_values(by=['col1', 'col2']) col1 col2 col3 col4 1 A 1 1 B 0 A 2 0 a 2 B 9 9 c 5 C 4 3 F 4 D 7 2 e 3 NaN 8 4 D
3-4Sort Descending(降序排序)
>>> df.sort_values(by='col1', ascending=False) col1 col2 col3 col4 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 3 NaN 8 4 D
3-5Putting NAs first(把NAs放在第一位)
>>> df.sort_values(by='col1', ascending=False, na_position='first') 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



