python - Dask 数据帧 : how to convert a column dtype from object to numeric

标签 python bigdata dask

在 Python 中工作,我使用 dask 处理约 20GB 的数据集。其中一列包含整数,但由于某种原因,dask 在该列中读取数据类型为“object”。我如何将其转换为数字或 float64 或整数?我尝试使用 dd.to_numeric,但出现以下错误“模块‘dask.dataframe’没有属性‘to_numeric’”

编辑:我认为这很复杂,因为数据在千之间有逗号(例如 2,133 而不是 2133)。不太确定如何处理这个问题。我尝试使用 pandas 开始并使用 .astype(int),但这显然不起作用。

最佳答案

您应该使用相同的pandas参数thousands

import pandas as pd
import dask.dataframe as dd
df = pd.DataFrame({"a":['1,000', '1', '1,000,000']})\
       .to_csv("out.csv", index=False)

# read as object
df = pd.read_csv("out.csv")
df = dd.read_csv("out.csv")

# read as numeric
df = pd.read_csv("out.csv", thousands=",")
df = dd.read_csv("out.csv", thousands=",")

关于python - Dask 数据帧 : how to convert a column dtype from object to numeric,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58182559/

相关文章:

python - 如何获取当前的QApplication?

python - 通过 Socket 发送 numpy 数组

python - 从 pygtk 程序启动默认图像查看器

java - mapreduce程序抛出数组索引超出范围错误

design-patterns - 监听事件、将事件分组并批量提交的最佳实践是什么?

python - 使用 dask 保留中间 DataFrame 计算

python - NameError:名称未在 python init 函数中定义

cassandra - 如何使用 auto_bootstrap 属性高效启动/重启 Cassandra 节点

pandas - 为什么 dask.dataframe compute() 结果在特定情况下会给出 IndexError?如何找到异步错误的原因?

python - Dask DataFrame 聚合至中位数