Method: Charty::VectorAdapters::NArrayAdapter#drop_na

Defined in:
lib/charty/vector_adapters/narray_adapter.rb

#drop_naObject



131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# File 'lib/charty/vector_adapters/narray_adapter.rb', line 131

def drop_na
  case data
  when Numo::DFloat, Numo::SFloat, Numo::DComplex, Numo::SComplex
    Charty::Vector.new(data[~data.isnan])
  when Numo::RObject
    where_is_nan = data.isnan
    values = []
    i, n = 0, data.size
    while i < n
      x = data[i]
      unless x.nil? || where_is_nan[i] == 1
        values << x
      end
      i += 1
    end
    Charty::Vector.new(Numo::RObject[*values])
  else
    self
  end
end