2

我正在尝试将数据框保存为 .arrow 格式,主要是为了获得比 CSV 更好的大小,以便将该文件用于 vega-lite

我正在使用蟒蛇

import pandas
import pyarrow as pa
csv="C:/Users/mimoune.djouallah/data.csv"
arrow ="C:/Users/mimoune.djouallah/file.arrow"
dataset = pandas.read_csv(csv)

table = pa.Table.from_pandas(dataset)
writer = pa.RecordBatchFileWriter(arrow, table.schema)
writer.write(table)
writer.close()

我期待箭头文件小于 csv,现在箭头稍大

我尝试使用镶木地板导出,结果符合预期

原始 csv:4.4 MB 箭头:4.9 MB parquet:1.6 MB PowerBI(仅供参考):1.7 MB

4

1 回答 1

4

Arrow 格式的目的不是优化存储大小,而是优化存储性能。与 CSV 相比,数据以二进制形式存储,以消除解析数据的开销。但由于性能至关重要,因此数据既不压缩也不编码。

如果您想有效地存储数据但数据量较小,您应该看看 Apache Parquet。数据以与 Arrow 类似的方式存储,但在顶部使用了一些有效的技术来减少存储大小。

于 2019-03-31T17:06:28.417 回答