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

我想检查我的 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


以上是检查DataFrame名称是否包含另一个数组中的名称的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>