Sha256: 49ad7e4580e14ff268b1ff28e81b4ee1ce0582e550ab18906ecf05485c60ac4a
Contents?: true
Size: 1.32 KB
Versions: 1
Compression:
Stored size: 1.32 KB
Contents
# frozen_string_literal: true module RedAmber # Columnar data object # @data : holds Arrow::ChunkedArray class Vector # mix-in include VectorFunctions # chunked_array may come from column.data def initialize(array) case array when Vector @data = array.data when Arrow::Array, Arrow::ChunkedArray @data = array when Array @data = Arrow::Array.new(array) else raise ArgumentError, 'Unknown array in argument' end end attr_reader :data def to_s @data.to_a.inspect end def inspect format "#<#{self.class}(:#{type}, size=#{size}):0x%016x>\n#{self}", object_id end def values @data.values end alias_method :to_a, :values alias_method :entries, :values def size # only defined :length in Arrow? @data.length end alias_method :length, :size alias_method :n_rows, :size alias_method :nrow, :size def type @data.value_type.nick.to_sym end def data_type @data.value_type end # def each() end def chunked? @data.is_a? Arrow::ChunkedArray end def n_chunks chunked? ? @data.n_chunks : 0 end # def each_chunk() end def tally values.tally end def n_nulls @data.n_nulls end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
red_amber-0.1.2 | lib/red_amber/vector.rb |