📜  按列对数据帧进行排序 - Python (1)

📅  最后修改于: 2023-12-03 14:54:39.689000             🧑  作者: Mango

按列对数据帧进行排序 - Python

在数据处理中,经常需要对数据进行排序。Pandas是Python中非常流行的数据分析库,提供了对数据排序的丰富功能。

排序

Pandas中的 sort_values() 方法可以对DataFrame或Series对象进行排序。下面是一个简单的例子,展示了如何按照某一列对DataFrame进行排序:

import pandas as pd

data = {
    'name': ['John', 'Bob', 'Alice', 'Mike'],
    'age': [23, 54, 31, 18],
    'gender': ['M', 'M', 'F', 'M']
}

df = pd.DataFrame(data)
sorted_df = df.sort_values(by='age')
print(sorted_df)

输出为:

    name  age gender
3   Mike   18      M
0   John   23      M
2  Alice   31      F
1    Bob   54      M

注:可以通过 sort_values() 方法的 by 参数指定按照哪一列进行排序。

多列排序

除了按照一列进行排序,还可以按照多列进行排序。例如,按照年龄从小到大排列,如果年龄相同,则按照性别排序,男在前女在后。

sorted_df = df.sort_values(by=['age', 'gender'], ascending=[True, False])
print(sorted_df)

输出为:

    name  age gender
3   Mike   18      M
0   John   23      M
2  Alice   31      F
1    Bob   54      M

注:可以通过 sort_values() 方法的 by 参数传递一个列表,按照传递列表的顺序依次排序。同时也可以通过 ascending 参数,指定每一列的排序方式,True为升序,False为降序。如果不指定 ascending 参数,默认按照升序排序。

结论

以上就是Python中按列排序DataFrame的方法。Pandas提供了非常好用的排序函数,让我们能够为数据的处理更快速、简单、方便。