lib/datasets-arrow/arrowable.rb in red-datasets-arrow-0.0.1 vs lib/datasets-arrow/arrowable.rb in red-datasets-arrow-0.0.2
- old
+ new
@@ -5,18 +5,11 @@
def to_arrow
data_path = arrow_data_path
if data_path.exist?
Arrow::Table.load(data_path)
else
- columns = {}
- each do |record|
- record.to_h.each do |name, value|
- values = (columns[name] ||= [])
- values << value
- end
- end
raw_table = {}
- columns.each do |name, values|
+ to_table.to_h.each do |name, values|
raw_table[name] = Arrow::ArrayBuilder.build(values)
end
table = Arrow::Table.new(raw_table)
table.save(data_path)
table