📜  Python 按列表排序数据帧 - Python (1)

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

Python按列表排序数据帧

如果需要按照列表中的一列或多列对数据帧进行排序,可以使用Python的内置函数sort_values()。这个函数可以对数据框中多列或单列进行升序或者降序排序。下面是一个示例:

import pandas as pd

# 创建示例数据帧
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
        'age': [25, 35, 20, 28, 22],
        'gender': ['F', 'M', 'M', 'M', 'F']}
df = pd.DataFrame(data)

# 按照age列进行升序排序
df.sort_values('age', ascending=True, inplace=True)

print(df)

输出:

       name  age gender
2   Charlie   20      M
4     Emily   22      F
0     Alice   25      F
3     David   28      M
1       Bob   35      M

在这个示例中,我们创建了一个包含姓名、年龄和性别的数据帧。然后,我们使用sort_values()函数按照age列进行升序排序,并将结果存储在原始数据帧中。最后,我们打印了排序后的数据帧。

如果需要对多列进行排序,可以向sort_values()函数传递一个列表,其中包含需要排序的列名。

import pandas as pd

# 创建示例数据帧
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
        'age': [25, 35, 20, 28, 22],
        'gender': ['F', 'M', 'M', 'M', 'F']}
df = pd.DataFrame(data)

# 按照gender列进行升序排序,如果gender相同则按照age列升序排序
df.sort_values(['gender', 'age'], ascending=[True, True], inplace=True)

print(df)

输出:

       name  age gender
2   Charlie   20      M
3     David   28      M
1       Bob   35      M
0     Alice   25      F
4     Emily   22      F

在这个示例中,我们首先按照gender列进行升序排序,如果gender相同则按照age列升序排序。

使用sort_values()函数可以灵活地对数据帧进行排序,适用于各种排序需求。