【问题标题】:Pandas - Parallelizing astype functionPandas - 并行化 astype 函数
【发布时间】:2019-08-01 10:34:59
【问题描述】:

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

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

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

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

【问题讨论】:

  • 简单地做 - df.astype(np.float32)?
  • 数据是从 csv 读取的?
  • 然后使用pd.read_csv(file, dtype=float)
  • 只有数字列?

标签: python multithreading pandas numpy parallel-processing


【解决方案1】:

read_csv 中将dtype 参数与字典一起使用:

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

【讨论】:

  • @gunesevitan - 答案已编辑,我希望现在工作得更快。
猜你喜欢
  • 2020-04-18
  • 1970-01-01
  • 2017-03-14
  • 2018-11-24
  • 2019-07-07
  • 2021-01-10
  • 2017-01-10
  • 2022-01-01
  • 1970-01-01
相关资源
最近更新 更多