JavaScript循环累加NAFAG字段并赋值给KNAFA字段求助
实现NAFAG字段累加赋值给KNAFA的循环逻辑
根据需求,KNAFA字段是从初始值0开始,逐行累加NAFAG字段的值:
- 第2行KNAFA = 0 + NAFAG(第2行)
- 第3行KNAFA = 0 + NAFAG(第2行) + NAFAG(第3行)
- 第4行KNAFA = 0 + NAFAG(第2行) + NAFAG(第3行) + NAFAG(第4行)
- 以此类推
以下是几种常用场景的实现方案:
1. Excel 实现
假设表头在第1行,数据从第2行开始,NAFAG列是B列,KNAFA列是K列:
- 第2行输入公式:
=0 + B2 - 第3行及以后,直接下拉公式:
=K2 + B3
或者用SUM函数一步到位,第2行输入:=SUM($B$2:B2),然后下拉即可自动累加。
2. Python Pandas 实现
假设数据存储在DataFrame df 中:
# 初始化KNAFA列,第一行设为0 df['KNAFA'] = 0 # 从第二行开始累加NAFAG的值 df.loc[1:, 'KNAFA'] = df.loc[1:, 'NAFAG'].cumsum()
如果你的DataFrame索引不是从0开始,可根据实际行号调整起始位置。
3. SQL 实现(以MySQL为例)
需要有一个能确定行顺序的字段(比如自增ID id):
SELECT *, CASE WHEN id = 1 THEN 0 ELSE SUM(NAFAG) OVER (ORDER BY id ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) END AS KNAFA FROM your_table_name;
如果所有行都从0开始累加(包括第一行),可简化为:
SELECT *, SUM(NAFAG) OVER (ORDER BY id) AS KNAFA FROM your_table_name;
内容的提问来源于stack exchange,提问作者Adim
相关产品推荐
相关产品推荐

