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

如何结合numpy arange与pandas Series计算DataFrame新列?

解决方法:计算0到DataFrame列值的累加和

错误原因

你写的代码报错是因为np.arange()无法直接接收Pandas Series作为参数——它需要单个整数,而df['col1']是一组值,导致逻辑判断模糊,触发ValueError。

高效解决方案(推荐)

利用等差数列求和公式直接计算,这是效率最高的方式,尤其适合大数据量:

df['col2'] = df['col1'] * (df['col1'] + 1) // 2

原理:0到n的整数和公式为 n*(n+1)/2,用整数除法//避免浮点数结果。

通用自定义方案

如果需要更灵活的自定义逻辑(比如调整求和范围),可以用apply遍历每个元素:

import numpy as np
df['col2'] = df['col1'].apply(lambda x: np.arange(0, x + 1).sum())

apply会逐个处理col1中的每个值,生成对应范围的数组后求和。

验证结果

运行上述任意代码后,得到的DataFrame与预期一致:

col1  col2
0     1     1
1     2     3
2     3     6
3     4    10
4     5    15

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 06:50:55