📅  最后修改于: 2023-12-03 15:33:23.519000             🧑  作者: Mango
Pandas是Python中一种数据处理库,其中DataFrame是其中的一个数据结构,类似于Excel中的表格。sort()是DataFrame中用于排序的函数,可以按照某一列的数值、字母等进行排序。
DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, key=None)
参数说明:
quicksort
、 mergesort
和 heapsort
。 默认为quicksort。先创建一个包含成绩和年龄的DataFrame:
import pandas as pd
data = {'name': ['A', 'B', 'C', 'D', 'E'],
'age': [19, 20, 18, 17, 20],
'score': [95, 96, 92, 98, 90]}
df = pd.DataFrame(data)
按照成绩升序排列:
df.sort_values(by='score')
输出结果为:
name age score
4 E 20 90
2 C 18 92
0 A 19 95
1 B 20 96
3 D 17 98
如果要按照成绩和年龄两列进行升序排列:
df.sort_values(by=['score', 'age'])
输出结果为:
name age score
4 E 20 90
2 C 18 92
0 A 19 95
1 B 20 96
3 D 17 98
如果要按照年龄降序排列:
df.sort_values(by='age', ascending=False)
输出结果为:
name age score
1 B 20 96
4 E 20 90
0 A 19 95
2 C 18 92
3 D 17 98
如果要在原DataFrame中排序:
df.sort_values(by='name', inplace=True)
此时原DataFrame的顺序已被修改,输出结果为:
name age score
0 A 19 95
1 B 20 96
2 C 18 92
3 D 17 98
4 E 20 90
sort()函数是DataFrame中的一种强大的排序工具,可以直接对DataFrame进行排序。在排序时,需要注意by参数中需要输入排序的列名,同时还可以指定ascending参数实现升序或降序排列。如果要在原DataFrame中排序,需要将inplace参数设置为True。