2017-11-14 6 views
0

Ich versuche, Datenrahmen zu erstellen, die sehr lange ganze Zahl enthalten sollten. Mein Code ist wie folgt:Erzeuge Datenrahmen von zu langen ganzen Zahlen

import pandas as pd 

data = [123456789123456789123456789123456789123456789, 
123456789123456789123456789123456789123456789] 
cols = ['Col1', 'Col2'] 
df = pd.DataFrame(data, columns=cols) 
print(df) 

Aber ich erhalte den folgenden Fehler:

Traceback (most recent call last): 
File "/home/watson/Desktop/test.py", line 5, in <module> 
    df = pd.DataFrame(data, columns=cols) 
File "/usr/local/lib/python2.7/dist-packages/pandas/core/frame.py", 
line 330, in __init__ 
    copy=copy) 
File "/usr/local/lib/python2.7/dist-packages/pandas/core/frame.py", 
line 463, in _init_ndarray 
    values = _prep_ndarray(values, copy=copy) 
File "/usr/local/lib/python2.7/dist-packages/pandas/core/frame.py", 
line 5578, in _prep_ndarray 
    values = convert(values) 
File "/usr/local/lib/python2.7/dist-packages/pandas/core/frame.py", 
line 5567, in convert 
    return maybe_convert_platform(v) 
File "/usr/local/lib/python2.7/dist- 
packages/pandas/core/dtypes/cast.py", line 47, in 
maybe_convert_platform 
    values = lib.maybe_convert_objects(values) 
File "pandas/_libs/src/inference.pyx", line 1165, in 
pandas._libs.lib.maybe_convert_objects (pandas/_libs/lib.c:58498) 
    OverflowError: long int too large to convert 
+1

https://stackoverflow.com/questions/21591109/handling-huge-numbers-in-numpy-or-pandas – Wen

Antwort

1

Sie den Fehler, indem Sie dtype=object vermeiden können. Außerdem haben Sie in Ihrem Beispiel einen Tippfehler und übergeben die falschen Formdaten, da Sie zwei Spalten angeben. Die folgende Zeile funktioniert:

df = pd.DataFrame([data], columns=cols, dtype=object) 

Hinweis: Ich habe Ihre Daten in einer Liste verpackt, um die richtigen Abmessungen zu erhalten. Wenn ich das nicht mache, gibt es die OverflowError, obwohl es eigentlich eine ValueError über die Form der übergebenen Werte geben sollte.

In [1]: df = pd.DataFrame([data], columns=cols, dtype=object) 

In [2]: df 
Out[2]: 
              Col1 \ 
0 123456789123456789123456789123456789123456789 

              Col2 
0 123456789123456789123456789123456789123456789 
Verwandte Themen