lib/datasets/table.rb in red-datasets-0.0.6 vs lib/datasets/table.rb in red-datasets-0.0.7

- old
+ new

@@ -1,21 +1,33 @@ +require "datasets/dictionary" + module Datasets class Table include Enumerable def initialize(dataset) @dataset = dataset + @dictionaries = {} end def each(&block) columner_data.each(&block) end def [](name) - columner_data[name.to_sym] + columner_data[normalize_name(name)] end + def dictionary_encode(name) + @dictionaries[normalize_name(name)] ||= Dictionary.new(self[name]) + end + + def label_encode(name) + dictionary = dictionary_encode(name) + dictionary.encode(self[name]) + end + def fetch_values(*keys) data = columner_data keys.collect do |key| if data.key?(key) data[key] @@ -52,8 +64,12 @@ end end def columner_data @columns ||= to_h + end + + def normalize_name(name) + name.to_sym end end end