针对Pandas数据框架排序,主要可以根据列名或行索引进行排序,这里分别进行详细的讲解和示例说明。
根据列名排序
可以使用Pandas数据框架的sort_values()方法,根据指定的列名对数据进行排序,并指定升序或降序排列。
# 创建数据框架
import pandas as pd
data = {
'name': ['jack', 'tom', 'lucy', 'lily', 'bob'],
'age': [23, 18, 32, 27, 29],
'score': [80, 85, 90, 75, 88]
}
df = pd.DataFrame(data)
# 根据age列名升序排列
df.sort_values(by='age', ascending=True, inplace=True)
print(df)
# 根据score列名降序排列
df.sort_values(by='score', ascending=False, inplace=True)
print(df)
输出结果:
name age score
1 tom 18 85
0 jack 23 80
3 lily 27 75
4 bob 29 88
2 lucy 32 90
name age score
2 lucy 32 90
4 bob 29 88
1 tom 18 85
0 jack 23 80
3 lily 27 75
上面的代码中,sort_values()方法的参数by指定了对数据框架进行排序的列名,ascending参数指定排序方式,默认为升序排列,可以通过设置为False实现降序排列。inplace参数设为True表示修改原始的数据框架,否则会返回一个修改后的新数据框架。
根据行索引排序
使用Pandas数据框架的sort_index()方法,根据行索引进行排序,排序方式同样可以指定升序或降序排列。
# 创建数据框架
import pandas as pd
data = {
'name': ['jack', 'tom', 'lucy', 'lily', 'bob'],
'age': [23, 18, 32, 27, 29],
'score': [80, 85, 90, 75, 88]
}
df = pd.DataFrame(data, index=[4, 2, 1, 3, 0])
# 根据索引升序排列
df.sort_index(ascending=True, inplace=True)
print(df)
# 根据索引降序排列
df.sort_index(ascending=False, inplace=True)
print(df)
输出结果:
name age score
0 bob 29 88
1 lucy 32 90
2 tom 18 85
3 lily 27 75
4 jack 23 80
name age score
4 jack 23 80
3 lily 27 75
2 tom 18 85
1 lucy 32 90
0 bob 29 88
注意,以上代码中的数据框架df创建时,指定了行索引,即index参数设定。
sort_index()方法的参数ascending同样指定排序方式,inplace参数设为True表示修改原始的数据框架,否则会返回一个修改后的新数据框架。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何根据列名或行索引对Pandas数据框架进行排序 - Python技术站