将两个数据框列相乘

时间:2018-04-06 21:11:20

标签: julia

所以我尝试了这个:

df[:new_col] = (df[:col_one ] .* [df[:col_two]])

它会产生狂野的结果。

然后我通过访问数据帧索引来逐行迭代:

v = Float64[]
for i in 1:nrow(df) 
    z = df[[i],[:col_one]] * df[[i],[:col_two]]
    append!(v,z)
end

然而,这不起作用。有任何想法吗?

我有什么选择?从数据框中提取数据并制作一个向量?

**更新**

df = DataFrame(a = 1:10, b = 10*rand(10), c = 10 * rand(10))
df[:new_d] = df[:b] .* df[:c]

输出:

julia> head(df)
6×4 DataFrames.DataFrame
│ Row │ a │ b       │ c       │ new_d   │
├─────┼───┼─────────┼─────────┼─────────┤
│ 1   │ 1 │ 6.67916 │ 8.38096 │ 55.9778 │
│ 2   │ 2 │ 7.50056 │ 5.26593 │ 39.4974 │
│ 3   │ 3 │ 7.76419 │ 3.54361 │ 27.5133 │
│ 4   │ 4 │ 2.86521 │ 8.41335 │ 24.1061 │
│ 5   │ 5 │ 3.7417  │ 8.10884 │ 30.3409 │
│ 6   │ 6 │ 7.52014 │ 2.61603 │ 19.6729 │

0 个答案:

没有答案