Python/Pandas删除子串后按分组合并行并计算聚合值
你可以通过Pandas实现该需求,完整实现流程如下:
步骤1:修复原始数据笔误
原始数据第6行description值存在笔误,少了颜色的右括号,先修正:
import pandas as pd # 假设你已经把数据读入df,这里先做数据修正 df['description'] = df['description'].str.replace(r'NFL football \(blue XL', r'NFL football (blue) XL', regex=True)
步骤2:清洗description列,移除尺码后缀
用正则匹配删除末尾的尺码标识:
df['description'] = df['description'].str.replace(r'\s+[A-Z]+$', '', regex=True)
步骤3:分组聚合计算
按处理后的description字段分组,对不同列执行对应聚合逻辑:
result = df.groupby('description', as_index=False).agg( total=('total', 'sum'), average=('average', lambda x: round(x.mean())), number=('number', 'sum') )
输出result即可得到你需要的目标结果。
内容的提问来源于stack exchange,提问作者Ed Jefferies
相关产品推荐
相关产品推荐

