将float pandas列转换为int给出了-2147483648(特定于平台的错误)

时间:2018-05-29 20:34:23

标签: python pandas floating-point

我有一个带有小数的大号我要转换为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),但结果保持为-2147483648a = a.astype('int').astype('str')也没有用。

P.S。这在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

p.s.2这已被证明是Linux Ubuntu和Mint上没有发生特定于平台的(Windows)。 @Roberto。 Pyandroid也是一个问题...

0 个答案:

没有答案