检查 DataFrame 名称是否包含另一个数组中的名称

Check if DataFrame names contain the names in another array

我想检查我的 DataFrame 是否包含我指定的所有列。当然我可以用下面的代码来完成,但我觉得它应该可以在一行中完成。

using DataFrames
bools = Array{Bool}([])
df = DataFrame(A=[1,2], B=[3,4], C=[5,6])
for name in ["A", "B"]
    push!(bools, name ∈ names(df))
end
false ∉ bools

我找到了。 运算符可用于检查一个数组是否是另一个数组的子集:

# "⊆" can be typed by \subseteq<tab>
julia> ["A", "B"] ⊆ names(df)
true

julia> issubset(["A", "B"], names(df))
true

也可能有用的是 (不是子集)、(子集但不等于)或这些运算符的 (超集)变体。

# "⊈" can be typed by \nsubseteq<tab>
julia> ["A", "D"] ⊈ names(df)
true

# "⊊" can be typed by \subsetneq<tab>
julia> ["A", "B", "C"] ⊊ names(df)
false

julia> ["A", "B"] ⊊ names(df)
true

# "⊇" can be typed by \supseteq<tab>
julia> ["A", "B", "C", "D"] ⊇ names(df)
true