sort_values() 函数说明
pandas库的 sort_values() 函数可以对 Dataframe 的数据集按照某个字段中的数据进行排序。该函数可以指定列数据或行数据进行排序,可以是单个,也可以是多个。
同时,对于 series 也有 sort_values() 函数,但在参数上稍有区别。
官方介绍:
sort_values() 具体参数
用法: DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind=’quicksort’, na_position=’last’, ignore_index=False, key=None)
常用参数说明:
参数说明by指定要进行排序的列名或索引值axis若 axis=0 或 ‘index’,则按照指定列的数据大小排序;若 axis=1 或 ‘columns’,则按照指定索引中数据大小排序。默认axis=0ascending若 ascending=True,则按照升序排序;若 ascending=False,则按降序排序,默认为True,即升序排序。如果这是一个 bool 列表,则必须匹配 by 的长度inplace排序后的数据是否替换原来的数据,默认为False,即不替换ignore_index是否重置索引,默认为不重置
sort_values() 使用案例
- 创建 dataframe
import pandas as pd
import numpy as np
df = pd.DataFrame({
'col1': ['A', 'A', 'B', np.nan, 'C', 'C'],
'col2': [2, 1, 1, 8, 7, 4],
'col3': [0, 1, 9, 4, 8, 3],
})
print(df)
>>>
col1 col2 col3
0 A 2 0
1 A 1 1
2 B 1 9
3 NaN 8 4
4 C 7 8
5 C 4 3
- 根据第一、三列进行降序排序
print(df.sort_values(by = ['col1','col3'],ascending=False))
>>>
col1 col2 col3
4 C 7 8
5 C 4 3
2 B 1 9
1 A 1 1
0 A 2 0
3 NaN 8 4
- 根据第一列降序排序,当第一列相同时,根据第三列进行升序排序。并且重置索引,替换原数据
df.sort_values(by = ['col1','col3'],ascending=[False,True],ignore_index=True,inplace=True)
print(df)
>>>
col1 col2 col3
0 C 4 3
1 C 7 8
2 B 1 9
3 A 2 0
4 A 1 1
5 NaN 8 4
Original: https://blog.csdn.net/BlueWhale52/article/details/119187311
Author: BlueWhale52
Title: 对Dataframe进行多列排序——sort_values
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/675297/
转载文章受原作者版权保护。转载请注明原作者出处!