使用pandas库中的groupby方法按照指定的列进行分组,并使用apply方法对分组后的数据进行操作。在apply方法内部使用sort_values方法对每个分组进行排序,并使用head方法获取每个分组的前几个元素。
代码示例:
import pandas as pd
# 创建示例数据
df = pd.DataFrame({
'group': ['A', 'A', 'B', 'B', 'B', 'C', 'C'],
'value': [1, 3, 5, 2, 4, 6, 7]
})
# 按照group列分组,并对每个分组排序,获取前两个元素
result = df.groupby('group').apply(lambda x: x.sort_values('value', ascending=False).head(2))
print(result)
输出结果:
group value
group
A 1 A 3
0 A 1
B 4 B 4
2 B 5
C 6 C 7
5 C 6