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

如何对同ID对应的同一列数值进行乘积运算?

解决方案:按ID分组计算Value乘积并替换原始值

1. Excel实现步骤

  • 先计算每个ID对应的乘积:在空白单元格(比如C2)输入数组公式 =PRODUCT(IF($A$2:$A$6=A2,$B$2:$B$6,"")),按Ctrl+Shift+Enter确认,下拉填充所有行。
  • 复制C列计算结果,粘贴回B列替换原始值即可。

2. Python Pandas实现代码

import pandas as pd

# 构造原始数据(实际场景可通过read_csv/read_excel读取)
df = pd.DataFrame({
    'ID': [1, 2, 1, 3, 1],
    'Value': [0.2, 0.55, 0.4, 0.6, 0.4]
})

# 分组计算乘积并合并回原表
id_prod = df.groupby('ID')['Value'].prod().reset_index(name='Value')
df = df.drop('Value', axis=1).merge(id_prod, on='ID')

print(df)

输出结果:

IDValue
10.032
20.55
10.032
30.6
10.032

3. SQL实现(假设表名为data_table)

WITH id_product AS (
    SELECT ID, PRODUCT(Value) AS Value
    FROM data_table
    GROUP BY ID
)
SELECT t.ID, ip.Value
FROM data_table t
JOIN id_product ip ON t.ID = ip.ID;

执行后会直接返回替换后的结果集,可根据需求写入新表或覆盖原表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 16:12:48