在 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/