猿问

Pyarrow 在使用 Pandas to_parquet() 时应用模式

我有一个非常宽的数据框(20,000 列),主要由 Pandas 中的 float64 列组成。我想将这些列转换为 float32 并写入 Parquet 格式。我这样做是因为这些文件的下游用户是内存有限的小容器。


我目前在 Pandas 中投射,但这在广泛的数据集上非常慢,然后写出镶木地板。是否可以在写入 to_parquet 过程本身时转换类型?下面显示了一个虚拟示例。


import pandas as pd

import numpy as np

import pyarrow

df = pd.DataFrame(np.random.randn(3000, 15000)) # make dummy data set

df.columns = [str(x) for x in list(df)] # make column names string for parquet

df[list(df.loc[:, df.dtypes == float])] = df[list(df.loc[:, df.dtypes == float])].astype('float32') # cast the data

df.to_parquet("myfile.parquet") # write out the df


慕运维8079593
浏览 352回答 2
2回答
随时随地看视频慕课网APP

相关分类

Python
我要回答