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

Pandas实现:按product列唯一单词汇总对应cost总和

解决方案

可以通过拆分单词、展开行、分组求和三步实现需求,具体代码如下:

import pandas as pd

# 示例数据
data = { 'product': ['Dell Notebook I7', 'Dell Notebook I3', 'Logitech mx keys', 'Logitech mx 2'],
         'cost': [1000,1200,300,100]}
df_data = pd.DataFrame(data)

# 1. 拆分产品描述为单词列表,新增列存储
df_words = df_data.assign(unique_words=df_data['product'].str.split())
# 2. 将单词列表展开为每行一个单词,保留对应成本
df_words = df_words.explode('unique_words')
# 3. 按单词分组,计算成本总和并整理成目标格式
result_df = df_words.groupby('unique_words')['cost'].sum().reset_index()
result_df.columns = ['unique_words', 'total_cost_for_unique_word']

# 查看结果
print(result_df)

代码说明

  • str.split() 默认按空格拆分产品描述,得到每个产品的单词列表;assign 用于新增列存储拆分结果
  • explode() 将列表类型的列展开,每个单词单独占一行,同时保留原行的成本值
  • groupby('unique_words')['cost'].sum() 按单词分组,累加所有包含该单词的产品成本
  • reset_index() 将分组后的索引转为普通列,最后重命名列名匹配需求

运行后输出的结果DataFrame如下:

unique_words  total_cost_for_unique_word
0            2                          100
1         Dell                         2200
2           I3                         1200
3           I7                         1000
4     Logitech                          400
5           mx                          400
6         keys                          300
7     Notebook                         2200

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 10:54:14