Преобразование столбца плавающих панд в int дает мне -2147483648 (ошибка, связанная с платформой) - PullRequest
0 голосов
/ 29 мая 2018

У меня есть большое число с десятичными знаками, которое я хочу преобразовать в 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.@Roberto.Также проблема в. Pyandroid ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...