在 Julia 中找到一维数组中所有缺失值的索引

Jul*_*ner 6 missing-data julia

此堆栈链接显示如何返回数组中的值booleansmissing

例如:

julia> A = [1, 2, 3, missing, 4, 5, 6, missing, 7, 8, missing, 9, 10]
13-element Array{Union{Missing, Int64},1}:
  1
  2
  3
   missing
  4
  5
  6
   missing
  7
  8
   missing
  9
 10

julia> ismissing.(A)
13-element BitArray{1}:
 false
 false
 false
  true
 false
 false
 false
  true
 false
 false
  true
 false
 false
Run Code Online (Sandbox Code Playgroud)

如何返回他们的索引?

Jul*_*ner 5

使用相同的示例,您可以执行以下操作:

julia> A = [1, 2, 3, missing, 4, 5, 6, missing, 7, 8, missing, 9, 10]
13-element Array{Union{Missing, Int64},1}:
  1
  2
  3
   missing
  4
  5
  6
   missing
  7
  8
   missing
  9
 10

# Below are the indices of the missing elements.
julia> findall(ismissing, A)
3-element Array{Int64,1}:
  4
  8
 11
Run Code Online (Sandbox Code Playgroud)

您还可以查找是否有任何或所有元素是missing, 以及第一个和最后一个索引:

julia> any(ismissing, A)
true

julia> all(ismissing, A)
false

julia> findfirst(ismissing, A)
4

julia> findlast(ismissing, A)
11
Run Code Online (Sandbox Code Playgroud)

  • 当你应该只使用“ismissing”时,编写“x->ismissing(x)”是多余的。因此,在您的示例中,将所有出现的“x->ismissing(x)”替换为“ismissing”。 (3认同)