Pandas对数据进行分组后排序

2023-02-24 00:00:00 数据 排序 分组

在 pandas 中,可以使用 groupby 方法对数据进行分组,并使用 sort_values 方法对每个组内的数据进行排序。

下面是一个简单的示例:

import pandas as pd

# 创建一个数据框
df = pd.DataFrame({'group': ['A', 'B', 'B', 'A', 'C', 'C'],
                   'value': [1, 3, 2, 4, 6, 5]})

# 对数据进行分组并排序
result = df.groupby('group').apply(lambda x: x.sort_values('value'))

# 显示排序结果
print(result)

在上面的示例中,我们首先创建一个数据框 df,其中包含两列数据:group 表示分组变量,取值为 'A'、'B' 或 'C';value 表示数值变量,取值为整数。然后,我们使用 groupby 方法按照 group 列对数据进行分组,并使用 apply 方法对每个组内的数据进行排序,其中 lambda x: x.sort_values('value') 表示对输入的数据 x 按照 value 列进行排序。最后,我们使用 print 函数显示排序后的结果。

需要注意的是,sort_values 方法默认是按照升序对数据进行排序,如果需要按照降序排序,可以使用 sort_values(ascending=False)。此外,可以使用 groupby 方法对多个变量进行分组,例如 df.groupby(['group1', 'group2'])。

相关文章