我想在DataFrame的所有列中添加一个数字。我尝试使用以下代码:
for i in names(df)
df.i = df.i .+ 1
end
但是出现了错误,提示为“ArgumentError: 在数据帧中未找到列名:i”。如有任何帮助,将不胜感激。提前感谢您的帮助。
只需写下:
df .+= 1
让您得到想要的。
如果您想遍历列,也是支持的。以下是一些示例:
for n in names(df)
df[!, n] .+= 1
end
for col in eachcol(df)
col .+= 1
end
目前您可以使用以下方法:
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))
for i = 1:n df.x_$i .= (df.x$i .- df.x$(i - 1)) ./ df.x_$i end
- Moshifor i = 1:n df[!, "x_$i"] = (df[!, "x$i"] .- df[!, "x$(i - 1)"]) ./ df[!, "x_$i"] end
。 - Bogumił Kamiński