遍历Julia中的各列

lU5*_*5er 3 dataframe julia

我想向DataFrame中的所有列添加一个数字。我正在尝试使用

for i in names(df)
    df.i = df.i .+ 1
end
Run Code Online (Sandbox Code Playgroud)

但这给了错误 ArgumentError: column name :i not found in the data frame

任何帮助表示赞赏。提前致谢。

Bog*_*ski 8

目前您可以使用:

for i in axes(df, 2)
    df[i] .+= 1
end
Run Code Online (Sandbox Code Playgroud)

要么

for n in names(df)
    df[n] .+= 1
end
Run Code Online (Sandbox Code Playgroud)

但是,将来您可能需要编写(如果我们应该更改单参数索引的含义,则会进行讨论):

for col in eachcol(df, false)
    col .+= 1
end
Run Code Online (Sandbox Code Playgroud)

要么

foreach(x -> x .+= 1, eachcol(df, false))
Run Code Online (Sandbox Code Playgroud)