Method: Remi::DataSource::Postgres#to_dataframe

Defined in:
lib/remi/data_source/postgres.rb

#to_dataframeObject



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/remi/data_source/postgres.rb', line 36

def to_dataframe
  # Performance for larger sets could be improved by using bulk query (via COPY)
  @logger.info "Converting query to a dataframe"

  hash_array = {}
  raw_result.each do |row|
    row.each do |field, value|
      (hash_array[field_symbolizer.call(field)] ||= []) << value
    end
  end

  # After converting to DF, clear the PG results to save memory.
  raw_result.clear

  Daru::DataFrame.new hash_array, order: hash_array.keys
end