在Julia中,可以使用transform!
函数为Number类型的每一列创建一个新列。transform!
函数接受一个DataFrame和一个函数作为参数,该函数将应用于DataFrame的每一列。以下是一个示例:
using DataFrames
# 创建一个示例DataFrame
df = DataFrame(A = [1, 2, 3], B = [4, 5, 6], C = [7, 8, 9])
# 定义一个函数,将每一列的值乘以2
function multiply_by_two(x)
return x * 2
end
# 使用transform!函数为每一列创建一个新列
transform!(df, names(df, Number) .=> names(df, :)*"_new" .=> multiply_by_two)
# 打印结果
println(df)
输出结果如下:
3×6 DataFrame
│ Row │ A │ B │ C │ A_new │ B_new │ C_new │
│ │ Int64 │ Int64 │ Int64 │ Int64 │ Int64 │ Int64 │
├─────┼───────┼───────┼───────┼───────┼───────┼───────┤
│ 1 │ 1 │ 4 │ 7 │ 2 │ 8 │ 14 │
│ 2 │ 2 │ 5 │ 8 │ 4 │ 10 │ 16 │
│ 3 │ 3 │ 6 │ 9 │ 6 │ 12 │ 18 │
在上面的示例中,我们首先创建了一个包含整数的DataFrame。然后,我们定义了一个名为multiply_by_two
的函数,该函数将每个输入值乘以2。最后,我们使用transform!
函数将该函数应用于DataFrame的每一列,并为每一列创建一个新列,新列的名称为原列名加上"_new"后缀。
领取专属 10元无门槛券
手把手带您无忧上云