2017-01-14 10 views
1

Eine Probe CSV-Datei hat Inhalte wieread_csv importieren große Zahl

Afghanistan,AFG,8013233121.55065,8689883606.07776,8781610175.40574 

Wenn ich diese importieren mit

GDP = pd.read_csv('world_bank.csv', header=4, usecols=fields) 

ich die Zahlen in wissenschaftlicher Notation bekommen.

Afghanistan,AFG,3.992331e+12,4.559041e+12 

Was ist der richtige Konverter zu verwenden?

+0

Sie sind die gleiche Sache. Dies wirkt sich nicht auf Ihre Berechnungen aus, sondern nur darauf, wie sie in der Konsole gedruckt werden. –

Antwort

3

Diese Zahlen sind Floats. Sie sehen nur, was angezeigt wird.

Betrachten Sie die folgende

txt = """Afghanistan,AFG,8013233121.55065,8689883606.07776,8781610175.40574""" 

GDP = pd.read_csv(StringIO(txt), header=None, converters={i:np.float128 for i in [2,3,4]}) 

print(GDP) 

      0 1    2    3    4 
0 Afghanistan AFG 8.013233e+09 8.689884e+09 8.781610e+09 

jedoch einen genaueren Blick auf eine Zelle

GDP.iloc[0, 2] 

8013233121.5506496 

Um print mit einem Float-Format Sie mögen Sie können. pd.set_option('display.float_format', '{:0.6f}'.format) oder tun Sie es vorübergehend

with pd.option_context('display.float_format', '{:0.6f}'.format): 
    print(GDP) 

      0 1     2     3     4 
0 Afghanistan AFG 8013233121.550650 8689883606.077761 8781610175.405741 
+0

Nützlich + 1, danke – ade1e