You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas中拆分列字符串并按类别汇总销售数量?

提取Sales列数值并按Category分组求和的解决方案

步骤1:构造数据(若未加载)

先将你的数据转换为Pandas DataFrame:

import pandas as pd

data = {
    'Category': ['Table', 'Chair', 'Cushion', 'Table', 'Chair', 'Mats'],
    'Sales': ['1 table', '3chairs', '8 cushions', '3Tables', '12 Chairs', '12Mats'],
    'Paid': ['Yes', 'Yes', 'Yes', 'Yes', 'No', 'Yes']
}
df = pd.DataFrame(data)

步骤2:提取Sales列中的数字

有两种实用方法提取数值:

方法一:正则表达式(简洁高效)

用str.extract匹配字符串中的连续数字,转换为整数类型:

df['Sales_Quantity'] = df['Sales'].str.extract('(\d+)').astype(int)

方法二:apply+lambda(手动提取数字字符)

如果你偏好使用apply结合lambda函数,可遍历每个字符串筛选数字字符:

df['Sales_Quantity'] = df['Sales'].apply(lambda x: int(''.join([c for c in x if c.isdigit()])))

步骤3:按Category分组求和

通过groupby对提取出的数值列分组求和:

# 分组求和后重置索引,生成规整的结果表
summary = df.groupby('Category')['Sales_Quantity'].sum().reset_index()

# 打印结果
print(summary)

最终输出

Category  Sales_Quantity
0    Chair              15
1  Cushion               8
2     Mats              12
3     Table               4

内容的提问来源于stack exchange,提问作者Dan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 19:25:59