📅  最后修改于: 2023-12-03 15:39:48.270000             🧑  作者: Mango
在 Pandas 中,我们可以很容易地对数据帧进行排序,使用 sort_values
方法。通过这种方法,我们可以按照一个或多个列的值对数据进行排序。
要按一个列值对数据帧进行排序,我们只需要将要排序的列名传递给 sort_values
方法即可。
import pandas as pd
data = {
'name': ['Tom', 'Jerry', 'Spike', 'Tyke'],
'age': [2, 3, 1, 4],
'score': [95, 80, 70, 90]
}
df = pd.DataFrame(data)
# 按年龄升序排序
df_sorted = df.sort_values('age')
print(df_sorted)
输出结果:
name age score
2 Spike 1 70
0 Tom 2 95
1 Jerry 3 80
3 Tyke 4 90
如果要按多个列值排序,我们可以像下面这样向 sort_values
方法中传递一个列名列表。
import pandas as pd
data = {
'name': ['Tom', 'Jerry', 'Spike', 'Tyke'],
'age': [2, 3, 1, 4],
'score': [95, 80, 70, 90]
}
df = pd.DataFrame(data)
# 按年龄升序、分数降序排序
df_sorted = df.sort_values(by=['age', 'score'], ascending=[True, False])
print(df_sorted)
输出结果:
name age score
2 Spike 1 70
0 Tom 2 95
1 Jerry 3 80
3 Tyke 4 90
在上面的例子中,我们首先按年龄升序排序,然后在年龄相同的情况下按分数降序排序。
在对数据帧进行排序时,需要注意以下几点:
sort_values
方法会返回一个新的数据帧,不会改变原数据帧。如果要在原数据帧上进行排序,可以使用 inplace=True
参数。以上就是按列值对 Pandas 数据帧排序的全部内容。希望本文能对正在学习 Pandas 的你有所帮助。