【发布时间】:2018-08-21 21:27:35
【问题描述】:
我有一个 csv,其中有一列包含一个长“ID”字符串,例如 9075841942209708806(int64)。现在,当我将这个 csv 文件读入 pandas 数据框时,这个数字变成了 -9.191700e+18(float64)。
-9.191700e+18(float64)的id如何转换成原来的形式,即9075841942209708806(int64)?
【问题讨论】:
-
df = pd.read_csv(file, dtype={'ID':np.int64}) -
哦,我很抱歉造成混乱,但是如果 id 列没有标记,因此只有第 1 列,那将如何更改代码?我试过 df = pd.read_csv(file, dtype={'1':np.int64}) 但它没有用...你能帮忙吗?
-
df = pd.read_csv(file, dtype={1:np.int64}, header=None)呢? -
它有点工作。所以,现在的问题是 int 值不再与原始值匹配。例如:原始的一个是 9075841942209708806,转换后的一个是 9075800000000000000...这是什么原因造成的?
-
嗯,可以使用字符串吗?喜欢
df = pd.read_csv(file, dtype={1:'str'}, header=None)
标签: python-3.x pandas