我有一个带有小数的大号我要转换为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')
也没有用。
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也是一个问题...