web-dev-qa-db-fra.com

comment se débarrasser de pandas convertir de grands nombres dans une feuille Excel en exponentielle?

Dans la feuille Excel, j'ai deux colonnes avec de grands nombres.

Mais quand je lis le fichier Excel avec read_Excel () et affiche la trame de données,

ces deux colonnes sont imprimées en format scientifique avec exponentielle.

Comment se débarrasser de ce format?

Merci

Sortie dans Pandas

enter image description here

12
Nathaniel Babalola

La façon dont la notation scientifique est appliquée est contrôlée via les options des pandas:

import pandas as pd
pd.set_option('display.precision',3)

pd.DataFrame({'x':[.001]})   

        x
0   0.001

mais

pd.DataFrame({'x':[.0001]})

            x
0   1.000e-04

mais

pd.set_option('display.precision',4)
pd.DataFrame({'x':[.0001]})

         x
0   0.0001

Vous pouvez voir plus sur la façon de contrôler pandas sortie dans Options et paramètres section de pandas docs.

[~ # ~] modifier [~ # ~]

Si c'est simplement à des fins de présentation, vous pouvez convertir vos données en chaînes tout en les formatant colonne par colonne:

df = pd.DataFrame({'Traded Value':[67867869890077.96,78973434444543.44],
                   'Deals':[789797, 789878]})
df

    Deals   Traded Value
0   789797  6.786787e+13
1   789878  7.897343e+13


df['Deals'] = df['Deals'].apply(lambda x: '{:d}'.format(x))
df['Traded Value'] = df['Traded Value'].apply(lambda x: '{:.2f}'.format(x))
df    

     Deals       Traded Value
0   789797  67867869890077.96
1   789878  78973434444543.44

Une autre méthode plus simple consiste à placer la ligne suivante en haut de votre code qui formaterait uniquement les flottants:

pd.options.display.float_format = '{:.2f}'.format
11
Sergey Bushmanov