首页 > 解决方案 > 如何检查 DataFrame 的所有元素是否都是非负数?

问题描述

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

df .> 0

这导致一个和零的DataFrame。如何将其减少为一个真/假值?

标签: juliajulia-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 missingvalue 一样,它被视为大于任何其他值。


推荐阅读