首页 > 解决方案 > 将 float pandas 列转换为 int 给我 -2147483648(特定于平台的错误)

问题描述

我有一个大数,我想转换成小数int,但我不断得到-2147483648

请试试:

import pandas as pd

a = pd.DataFrame(columns=['a'])
a.loc[0] = 31062000999100.0000000

现在a.dtypes给我一个 float

a = a.astype(str)给我一个对象31062000999100.0a = a.astype('int')给我-2147483648。使用astype(int)产生相同的结果。

我知道浮动对象是近似值,所以我也尝试round(a)了,但结果一直是-2147483648. a = a.astype('int').astype('str')也没有工作。

ps 这运行在Python 3.6.4 |Anaconda custom (64-bit)| (default, Jan 16 2018, 10:22:32) [MSC v.1900 64 bit (AMD64)]pandas 0.22.0意味着 Microsoft 10 x64

ps2 这已被证明是特定于平台的 (Windows),不会在 Linux Ubuntu 或 Mint 上发生。@罗伯托。也是一个问题。Pyandroid ......

标签: pythonpandasfloating-point

解决方案


推荐阅读