首页 > 解决方案 > Pandas - 并行化 astype 函数

问题描述

我正在处理一个具有很多特征的巨大数据集。这些特征实际上是 int 类型,但由于它们具有np.nan值,pandas 会float64为它们分配类型。

float32通过迭代每一列来投射这些功能。大约需要 10 分钟才能完成。有什么办法可以加快这个操作?

数据是从 csv 文件中读取的。数据中有objectint64列。

for col in float_cols:
    df[col] = df[col].astype(np.float32)

标签: pythonmultithreadingpandasnumpyparallel-processing

解决方案


dtype在字典中使用参数read_csv

df = pd.read_csv(file, dtype=dict.fromkeys(float_cols, np.float32))

推荐阅读