📅  最后修改于: 2023-12-03 15:04:27.637000             🧑  作者: Mango
熊猫(Pandas)是一种流行的Python数据处理库。通常情况下,我们需要在数据框中排序,这时就需要了解sort_values()函数。
sort_values()是pandas的一个数据框函数,用于根据某列或多列对数据框进行排序。
DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')
考虑以下这个数据框:
import pandas as pd
df = pd.DataFrame({'name': ['John', 'Alex', 'Mike', 'Mark', 'Jack', 'Lucy', 'Mary'],
'age': [25, 16, 19, 27, 18, 23, 17],
'score': [90, 80, 65, 70, 92, 87, 75]})
print(df)
输出:
name age score
0 John 25 90
1 Alex 16 80
2 Mike 19 65
3 Mark 27 70
4 Jack 18 92
5 Lucy 23 87
6 Mary 17 75
现在,我们想要通过name列来对数据框进行排序:
df.sort_values(by='name', ascending=True, inplace=True)
print(df)
输出:
name age score
1 Alex 16 80
4 Jack 18 92
0 John 25 90
2 Mike 19 65
6 Mary 17 75
3 Mark 27 70
5 Lucy 23 87
从输出中,我们可以看到name列是按字母顺序进行的排序。
我们也可以通过多列进行排序,比如,我们可以先通过score降序,再通过age升序来对数据框进行排序:
df.sort_values(by=['score', 'age'], ascending=[False, True], inplace=True)
print(df)
输出:
name age score
4 Jack 18 92
0 John 25 90
5 Lucy 23 87
3 Mark 27 70
6 Mary 17 75
1 Alex 16 80
2 Mike 19 65
从输出中,我们可以看到排序是依照前一列先进行排序,然后在此排序基础上进行下一列的排序。在第一列中,由于我们向降序排列,因此分数最高的Jack排在了第一位。而在分数相同的情况下,我们又通过年龄的升序来实现更精细的排序。
sort_values()函数是一个非常有用的函数,可以帮助我们对熊猫数据框进行排序,使之符合我们的需求。通过by、ascending、inplace等参数的灵活搭配,我们可以轻松实现强大的数据处理能力。