julia - 如何检查 DataFrame 的所有元素是否都是非负的?

标签 julia julia-dataframe

假设我有一个带有数字元素的 DataFrame。我想检查所有元素是否都是非负的。我可以做这样的事情:

df .> 0
这会产生一个由 1 和 0 组成的 DataFrame。如何将其减少到一个真/假值?

最佳答案

几乎不分配且有效的方法是:

all(all.(>(0), eachcol(df)))
或者
all(all.(x -> isless(0, x), eachcol(df)))
取决于您想如何处理 missing值。
以下是差异的示例:
julia> df = DataFrame(a=[1, missing], b=1:2)
2×2 DataFrame
 Row │ a        b     
     │ Int64?   Int64 
─────┼────────────────
   1 │       1      1
   2 │ missing      2

julia> all(all.(>(0), eachcol(df)))
missing

julia> all(all.(x -> isless(0, x), eachcol(df)))
true
isless 一样missing值被视为大于任何其他值。

关于julia - 如何检查 DataFrame 的所有元素是否都是非负的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65263991/

相关文章:

dictionary - 在字典之间广播代数运算

Julia:哪个环境变量/设置控制在 repl 中为数组打印的元素数量?

vector - Julia - 相当于 R 的 rep() 与 times 参数

按第一列 Julia 对矩阵进行排序

amazon-s3 - Julia 从 s3 csv 文件加载数据框

python - 如何将 Python pandas 转换为 Julia DataFrame(使用 PyJulia)并返回到 Python Pandas

julia - 你如何对 Julia Dataframe 应用转变?

regex - 如何在 Julia 中编写包含加号的正则表达式?

Julia - 数据切片在 for 循环中不起作用 - 但在没有 for 循环的情况下工作

julia - 数据帧的分层采样