如何检查 DataFrame 的所有元素是否都是非负数?
How do I check if all elements of DataFrame are non-negative?
假设我有一个包含数字元素的 DataFrame。我想检查所有元素都是非负的。我可以这样做:
df .> 0
这会产生一个由 1 和 0 组成的 DataFrame。我如何将它减少到一个 true/false 值?
几乎不分配且高效的方法是:
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
值被视为大于任何其他值。
假设我有一个包含数字元素的 DataFrame。我想检查所有元素都是非负的。我可以这样做:
df .> 0
这会产生一个由 1 和 0 组成的 DataFrame。我如何将它减少到一个 true/false 值?
几乎不分配且高效的方法是:
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
值被视为大于任何其他值。