pandas 排序 按指定顺序

您所在的位置:网站首页 dataframe指定列自定义排序 pandas 排序 按指定顺序

pandas 排序 按指定顺序

2024-05-08 00:47| 来源: 网络整理| 查看: 265

pandas 排序 按指定顺序

pandas 排序 按指定顺序

在数据分析中,经常需要对数据进行排序操作,以便更好地理解数据的特点或者进行进一步分析。pandas 是一个强大的数据分析工具,提供了丰富的排序功能。本文将重点介绍如何使用 pandas 按照自定义的顺序进行排序。

按指定顺序排序

在 pandas 中,可以通过 sort_values 方法来对数据进行排序。默认情况下,sort_values 方法会按照数值大小进行排序,如果要按照自定义的顺序进行排序,可以通过 key 参数传入一个函数来实现。

假设有一个数据集如下:

import pandas as pd data = { 'name': ['Alice', 'Bob', 'Cathy', 'David', 'Eve'], 'score': [85, 90, 75, 80, 95] } df = pd.DataFrame(data) print(df)

输出为:

name score 0 Alice 85 1 Bob 90 2 Cathy 75 3 David 80 4 Eve 95

如果我们想按照自定义顺序 Eve, Bob, Alice, Cathy, David 对 name 列进行排序,可以这样实现:

custom_order = ['Eve', 'Bob', 'Alice', 'Cathy', 'David'] def custom_sort(x): return custom_order.index(x) df_sorted = df.sort_values(by='name', key=lambda x: x.map(custom_sort)) print(df_sorted)

输出为:

name score 4 Eve 95 1 Bob 90 0 Alice 85 2 Cathy 75 3 David 80

通过上述代码,我们成功按照自定义的顺序对 name 列进行了排序。

指定升序或降序排序

除了按照自定义顺序排序之外,pandas 还支持对数据进行升序或降序排序。可以通过 ascending 参数来指定排序的顺序,True 表示升序,False 表示降序。

以前面的数据集为例,我们可以按照 score 列进行降序排序:

df_sorted = df.sort_values(by='score', ascending=False) print(df_sorted)

输出为:

name score 4 Eve 95 1 Bob 90 0 Alice 85 3 David 80 2 Cathy 75

通过设置 ascending=False,我们实现了对 score 列的降序排序。

多列按指定顺序排序

有时候需要对多列数据按照指定顺序进行排序。可以通过传入一个列表来指定多个列名,在 key 函数中对多个列进行排序。

假设有一个数据集如下:

data = { 'name': ['Alice', 'Bob', 'Cathy', 'David', 'Eve'], 'group': ['A', 'B', 'B', 'A', 'C'], 'score': [85, 90, 75, 80, 95] } df = pd.DataFrame(data) print(df)

输出为:

name group score 0 Alice A 85 1 Bob B 90 2 Cathy B 75 3 David A 80 4 Eve C 95

如果我们想先按照 group 列的自定义顺序 C, B, A 进行排序,再按照 score 列进行降序排序,可以这样实现:

group_order = ['C', 'B', 'A'] def custom_sort_group(x): return group_order.index(x) df_sorted = df.sort_values(by=['group', 'score'], key=lambda x: x.map(custom_sort_group)) print(df_sorted)

输出为:

name group score 4 Eve C 95 1 Bob B 90 2 Cathy B 75 3 David A 80 0 Alice A 85

通过上述代码,我们先按照 group 列的自定义顺序进行排序,再按照 score 列进行降序排序。

总结

本文介绍了在 pandas 中按照指定顺序进行排序的方法,包括通过 key 函数对单列数据排序、指定升序或降序、多列按指定顺序排序等内容。掌握这些排序技巧能够让我们更灵活地处理数据,更高效地进行数据分析。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3