gpt4 book ai didi

julia - 从 DataFrame 中提取值作为 Float64 值而不是 Vector

转载 作者:行者123 更新时间:2023-12-02 15:43:14 24 4
gpt4 key购买 nike

下面是示例数据框,我想将 Rat 的值 bw 提取为 Float64 而不是 Vector{Float64}

df = DataFrame(id=["Mouse","Rat"],
time=[1,1],
bw=[25.0,100.45])

当我使用下面的代码时,我得到了一个 Vector{Float64}。

df[in.(df.id, Ref(["Rat"])), :bw]

你能告诉我如何从数据帧中只获取 bw=100.45 的值吗?我不想使用下面的代码,而是想引用 id=="Rat"并采用这种方式来确保我从更大的数据集中获得正确的值。

df[2, :bw]

再次感谢...!

最佳答案

你可以这样做:

julia> only(df[in.(df.id, Ref(["Rat"])), :bw])
100.45

返回向量的原因是您使用向量进行索引。这与基本 Julia 一致:

julia> x = ["a", "b"]
2-element Vector{String}:
"a"
"b"

julia> x[[true, false]]
1-element Vector{String}:
"a"

所以另一种选择是使用标量进行索引:

julia> df[findfirst(in.(df.id, Ref(["Rat"]))), :bw]
100.45

此处 findfirst 返回索引向量的第一个 true 元素的索引,它是一个标量。

关于julia - 从 DataFrame 中提取值作为 Float64 值而不是 Vector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75288198/

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