gpt4 book ai didi

julia - 来自 Julia 中 Dataframe 列的向量

转载 作者:行者123 更新时间:2023-12-04 13:05:25 27 4
gpt4 key购买 nike

我有一个DataFrame

df = DataFrame(x = 1:3, y = 4:6)

3×2 DataFrame
Row │ x y
│ Int64 Int64
─────┼──────────────
1 │ 1 4
2 │ 2 5
3 │ 3 6

如何将其中一列提取为 Vector

我知道我可以做 df[:,:x]df.x,但是有没有办法用函数来做呢?我问的原因是我使用 Chain.jl 包并想做类似的事情

@chain df begin
some_manipulations_here
pull(:x)
end

最佳答案

您可以执行以下操作之一:

julia> df = DataFrame(x = 1:3, y = 4:6)
3×2 DataFrame
Row │ x y
│ Int64 Int64
─────┼──────────────
1 │ 1 4
2 │ 2 5
3 │ 3 6

julia> @chain df begin
_.x
end
3-element Vector{Int64}:
1
2
3

julia> @chain df begin
getproperty(:x) # same as above
end
3-element Vector{Int64}:
1
2
3

julia> @chain df begin
getindex(!, :x) # also _[!, :x]
end
3-element Vector{Int64}:
1
2
3

julia> @chain df begin
getindex(:, :x) # also _[:, :x]
end
3-element Vector{Int64}:
1
2
3

可能是第一个选项(使用 _.x 在实践中是最简单的。

我展示了其他选项以强调所有特殊语法,如 df.xdf[!, :x] 实际上是函数调用,特殊语法只是为了方便。

关于julia - 来自 Julia 中 Dataframe 列的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69766914/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com