pandas Python中将大型Parquet文件读入内存的最有效方法

xxhby3vn  于 2023-01-07  发布在  Python
关注(0)|答案(1)|浏览(457)

理想情况下,我希望将数据保存在字典中。我甚至不确定字典在这种情况下是否比 Dataframe 更好。经过一番研究,我发现了以下将 parquet 文件读入内存的方法:

  • Pyarrow(Apache Arrow的Python API):

使用pyarrow,我可以将parquet文件读入pyarrow. Table,也可以将数据读入pyarrow. DictionaryArray,两者都可以轻松转换为 Dataframe ,但在这种情况下,内存消耗不会加倍吗?

  • Pandas:

通过pd.read_parquet。文件被读入 Dataframe 。同样, Dataframe 的性能和字典一样好吗?

  • parquet-python(纯python,支持只读):

支持把Parquet地板上的每一行都当作字典来读。这意味着我必须合并 * 很多 * 纳米字典。我不确定这是否明智。

kqqjbcuj

kqqjbcuj1#

在Python中,将一个巨大的 parquet 文件读入内存的最有效方法是使用pyarrow库,它为处理 parquet 文件提供了高性能、内存效率高的数据结构。

import pyarrow.parquet as pq

# Read the Parquet file into a Pandas DataFrame
df = pq.read_pandas(path).to_pandas()

# Convert the DataFrame to a NumPy array
data = df.values

相关问题