python pandas数据排序¶
0 背景¶
Pandas是一个广泛使用的Python库,专门用于数据处理和分析。之前我们介绍了相关的筛选、查询、操作。本篇我们主要介绍pandas的数据排序。排序对于数据的可读性、分析以及最终的数据可视化都是关键步骤。
Pandas中的排序方法:
sort_values()方法:这是Pandas中用于根据一个或多个列的值对数据进行排序的主要方法。sort_index()方法:该方法根据索引排序DataFrame。
1 使用¶
初始化数据¶

在WPS中初始化数据:
df = xl("$A$1:$G$18", headers=True, sheet_name="工作表1")
# 设置索引为uid列
df.set_index('uid',inplace=True)
print(df.head())
在python中初始化数据:
# 初始化数据
# df = pd.read_csv('./工作表1.csv')
data = {
"uid": [0, 3,2, 4, 5, 6, 7, 8, 9],
"uname": ["雷嘉伦", "杜睿", "孙晓明", "方宇宁", "彭睿", "苏詩涵", "宋子异", "彭震南", "钟宇宁"],
"usex": ["男", "男", "男", "男", "男", "女", "男", "男", "男"],
"uage": [79, 83, 19, 31, 18, 71, 47, 55, 59],
"umail": ["[email protected]", "[email protected]", "[email protected]", "", "[email protected]", None, "[email protected]", "[email protected]", "[email protected]"],
"ucity": ["洛杉矶", "广州市", "纽约", "深圳", "纽约", "东莞", "中山", "阿克伦", "芝加哥"],
"udate": ["2001/11/13", "2002/5/7", "2010/8/9", "2018/12/17", "2017/4/3", "2021/1/20", "2001/6/18", "2016/2/17", "2014/3/15"]
}
df = pd.DataFrame(data)
df.set_index('uid', inplace=True)
sort_index()¶
按照索引降序
按照列排序
在原数据基础上排序, 不返回新的Dataframe
索引重新0-(n-1)排,不使用原来的索引
空值在排序中的位置
# na_position='first', 表示空值排在前面,另'last'表示空值在后(此处是指索引的空值), 默认是'last'
df['umail'].sort_index(na_position='first')
自定义函数排序
df1 = pd.DataFrame({"a": [1, 2, 3, 4]}, index=['A', 'b', 'C', 'd'])
df1.sort_index(key=lambda x: x.str.lower())
sort_values()¶
数据值的排序主要使用sort_values(),数字按大小顺序,字符按字母顺序。Series和DataFrame都支持此方法。
按照单、多列排序
修改立即在原Dataframe上生效
索引重新0-(n-1)排
按照大小值排序
2 关于¶
欢迎关注我的微信公众号¶