【发布时间】:2026-02-03 16:45:02
【问题描述】:
这看起来应该非常简单,但我无法完成。
我在 julia 有一个数据框 df,其中一列的类型为 Array{Union{Missing, Int64},1}。
该列中的值为:[missing, 1, 2]。
我只想对数据框 df 进行子集化,以仅查看与条件相对应的那些行,例如列等于 2 的位置。
我尝试过的 --> 结果:
df[df[:col].==2] --> MethodError: no method matching getindex
df[df[:col].==2, :] --> ArgumentError: invalid row index of type Bool
df[df[:col].==2, :col] --> BoundsError: attempt to access String (请注意,只执行df[!, :col] 会导致:1339-element Array{Union{Missing, Int64},1}: [...eliding output...],到目前为止我最喜欢的警告是 julia:Warning: getindex(df::DataFrame, col_ind::ColumnIndex) is deprecated, use df[!, col_ind] instead. 刚刚使用它似乎可以让我免于警告,但无论如何。)
这不可能像看起来那么难。
仅供参考,我可以通过using Query 获得我想要的内容,并针对子集数据进行多行 sql 查询,这似乎...很麻烦。
【问题讨论】:
标签: dataframe conditional-statements julia subset