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

Julia中如何计算新列并添加至DataFrame?(累加和示例)

Julia DataFrame添加累加和列的实现方法

一、用你的自定义函数生成新列

你可以通过生成结果数组后直接赋值给新列的方式实现,代码如下:

using DataFrames

df = DataFrame(A = 1:4)

function first(j)
    val = 0
    while j != 0
        val += df.A[j]
        j -= 1
    end
    return val
end

# 生成B列并赋值
df[!, :B] = [first(i) for i in 1:nrow(df)]

注意:你的自定义函数依赖全局变量df,这在Julia中会降低运行效率,且不利于代码复用,建议后续编写函数时尽量将数据作为参数传入。

二、更简便高效的实现方式

Julia的DataFrames包配合内置的cumsum函数可以直接完成累加和计算,这是最推荐的方法,代码简洁且性能更优:

方法1:直接赋值

df[!, :B] = cumsum(df.A)

方法2:使用transform函数(适合链式操作)

transform(df, :A => cumsum => :B)

运行后都能得到你想要的结果:

Row │ A      B     
     │ Int64  Int64 
─────┼──────────────
   1 │     1      1
   2 │     2      3
   3 │     3      6
   4 │     4     10

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 19:10:49