可以使用pandas库中的groupby方法和nlargest方法实现。例如,假设我们有一份销售数据集,其中包含'地区”和'销售额”两列数据,我们要按照地区分组,并且仅保留销售额最高的前3个地区的数据。代码如下:
import pandas as pd
# 读取数据
data = pd.read_csv('sales_data.csv')
# 按照地区分组,计算每个地区的销售额总和
grouped_data = data.groupby('地区')['销售额'].sum()
# 选取销售额前3高的地区
filtered_data = grouped_data.nlargest(3)
# 将筛选后的地区列表转换为DataFrame,并与原数据集合并,获取最终结果
result = pd.merge(data, pd.DataFrame(filtered_data), how='inner', on='地区')
在以上代码中,groupby方法对数据按照地区进行分组,并计算每个地区的销售额总和;nlargest方法选取上述结果中销售额最高的前3个地区;最后将筛选后的地区列表转换为DataFrame,并将其与原数据集合并,得到最终结果。