可以使用pandas的groupby函数进行分组,然后使用nlargest函数获取前N个最大值。示例代码如下:
import pandas as pd
# 创建样例数据
df = pd.DataFrame({
'fruit': ['apple', 'banana', 'apple', 'banana', 'banana', 'apple'],
'price': [5, 3, 6, 2, 4, 5],
'quantity': [2, 3, 1, 4, 2, 5]
})
# 按fruit和price进行分组,取quantity列的前2个最大值
result = df.groupby(['fruit', 'price'])['quantity'].nlargest(2)
# 结果输出
print(result)
输出结果为:
fruit price
apple 5 5
6 1
banana 2 4
3 3
4 2
Name: quantity, dtype: int64
可以看到,结果按照fruit和price进行了分组,并且返回了每个分组中quantity列的前2个最大值。