Class: CADFArray

Inherits:
CAObject
  • Object
show all
Defined in:
lib/carray/dataframe/dataframe.rb

Overview

CADFArray

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(column_names, columns) ⇒ CADFArray

:nodoc:



1031
1032
1033
1034
1035
1036
1037
1038
# File 'lib/carray/dataframe/dataframe.rb', line 1031

def initialize (column_names, columns)
  @column_names = column_names
  @columns      = columns
  dim = [@columns[@column_names.first].size, @column_names.size]
  extend CA::TableMethods
  super(:object, dim, :read_only=>true)
  __create_mask__
end

Instance Attribute Details

#column_namesObject (readonly)

Returns the value of attribute column_names.



1040
1041
1042
# File 'lib/carray/dataframe/dataframe.rb', line 1040

def column_names
  @column_names
end

Instance Method Details

#copy_data(data) ⇒ Object



1048
1049
1050
1051
1052
# File 'lib/carray/dataframe/dataframe.rb', line 1048

def copy_data (data)
  @column_names.each_with_index do |name, i|
    data[nil,i] = @columns[name].value
  end
end

#create_maskObject



1054
1055
# File 'lib/carray/dataframe/dataframe.rb', line 1054

def create_mask
end

#fetch_index(idx) ⇒ Object



1042
1043
1044
1045
1046
# File 'lib/carray/dataframe/dataframe.rb', line 1042

def fetch_index (idx)
  r, c = *idx
  name = @column_names[c]
  return @columns[name][r]
end

#mask_copy_data(data) ⇒ Object



1067
1068
1069
1070
1071
1072
1073
# File 'lib/carray/dataframe/dataframe.rb', line 1067

def mask_copy_data (data)
  @column_names.each_with_index do |name, i|
    if @columns[name].has_mask?
      data[nil,i] = @columns[name].mask
    end
  end
end

#mask_fetch_index(idx) ⇒ Object



1057
1058
1059
1060
1061
1062
1063
1064
1065
# File 'lib/carray/dataframe/dataframe.rb', line 1057

def mask_fetch_index (idx)
  r, c = *idx
  name = @column_names[c]
  if @columns[name].has_mask?
    return @columns[name].mask[r]
  else
    return 0
  end
end

#to_caObject



1075
1076
1077
1078
1079
1080
# File 'lib/carray/dataframe/dataframe.rb', line 1075

def to_ca
  obj = super
  obj.extend CA::TableMethods
  obj.column_names = @column_names
  return obj
end