我想向 DataFrame 中的所有列添加一个数字。我正在尝试使用,
for i in names(df)
df.i = df.i .+ 1
end
但这会给出错误 ArgumentError: 列名称:i 在数据框中找不到
感谢任何帮助。提前致谢。
最佳答案
DataFrames.jl 1.0 或更高版本的当前建议
只需写:
df .+= 1
得到你想要的。
如果您想循环遍历列,它也受支持。以下是一些示例:
for n in names(df)
df[!, n] .+= 1
end
for col in eachcol(df)
col .+= 1
end
1.0 版本之前 DataFrames.jl 的旧建议
目前您可以使用:
for i in axes(df, 2)
df[i] .+= 1
end
或
for n in names(df)
df[n] .+= 1
end
但是,将来您可能需要编写(有讨论是否应该更改单参数索引的含义):
for col in eachcol(df, false)
col .+= 1
end
或
foreach(x -> x .+= 1, eachcol(df, false))
关于dataframe - 循环遍历 Julia 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55095878/