python - 将 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.0
并a = 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 ......
解决方案
推荐阅读
- angular - this.pickupStatus.emit 不是函数
- python - 如何根据值更改 Python 类/对象的一个或多个属性
- css - 如何在 CSS 中使用背景图像制作悬停循环
- python - 正确的循环头根据输入到函数中的参数进入循环
- powershell - powershell cmdlet 如何将信息或错误通过管道传输到 write-eventlog
- java - 在 xdocreport 中使用模板填充表
- sql - 从一列 SQL postgres 中的时间戳计算持续时间
- java - 控制器返回列表时如何从jquery每个循环中获取值
- arduino - 将char数组解析为整数,atoi()返回平方
- spring - 如何在 SpringBoot 中使用 SimpleUrlHandlerMapping