14-stellige Zahl in DataFrame

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Kampfkuh6
User
Beiträge: 1
Registriert: Montag 18. Januar 2021, 12:49

Hallo zusammen,

ich bin absolute Anfängerin im Programmieren und bitte daher um Verständnis, falls ich mich nicht ganz klar oder falsch ausdrücke.

Ich habe folgendes Problem: Ich habe in einer Liste eine 14 stellige Zahl eingelesen, diese wird mir dort auch problemlos korrekt ausgegeben. Wenn ich die Liste nun in ein Dataframe umwandel, wird mir die Zahl in Exponentialschreibweise ausgegeben. Hat einer von euch eine Idee wie man die Zahl auch da vollständig angezeigt bekommt? Ich habe leider keine Lösung gefunden.

Vielen Dank im Voraus!
Benutzeravatar
kbr
User
Beiträge: 1508
Registriert: Mittwoch 15. Oktober 2008, 09:27

Einerseits kannst Du das Ausgabeformat bestimmen, wie der Link von einfachTobi zeigt, andererseits ist aber auch der Datentyp wichtig, mit dem Werte intern gespeichert werden:

Code: Alles auswählen

import numpy as np
import pandas as pd

a = np.array([12345678910118])
for dtype in [np.float32, np.float64, np.int64, np.int32]:
    s = pd.Series(a, dtype=dtype)
    print(s.values[0])
    print(s, "\n")
Bei float32 leidet die Genauigkeit und bei int32 hast Du einen Speicherüberlauf:

12345679000000.0
0 1.234568e+13
dtype: float32

12345678910118.0
0 1.234568e+13
dtype: float64

12345678910118
0 12345678910118
dtype: int64

1942901414
0 1942901414
dtype: int32
Antworten