如何摆脱将excel表中的大数字转换为指数的pandas?

Nat*_*ola 8 python machine-learning data-analysis pandas

在Excel工作表中,我有两列大数字.

但是当我用read_excel()读取excel文件并显示数据帧时,

这两列以科学格式打印,呈指数形式.

如何摆脱这种格式?

谢谢

熊猫输出

在此输入图像描述

Ser*_*nov 11

应用科学记数法的方式是通过熊猫的选项来控制的:

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

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

        x
0   0.001
Run Code Online (Sandbox Code Playgroud)

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

            x
0   1.000e-04
Run Code Online (Sandbox Code Playgroud)

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

         x
0   0.0001
Run Code Online (Sandbox Code Playgroud)

您可以在pandas docs的"选项和设置"部分中看到有关如何控制pandas输出的更多信息.

编辑

如果这仅仅是出于演示目的,您可以在逐列格式化数据时将数据转换为字符串:

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
Run Code Online (Sandbox Code Playgroud)

另一种更直接的方法是将以下行放在代码的顶部,这些行只会格式化浮点数:

pd.options.display.float_format = '{:.2f}'.format
Run Code Online (Sandbox Code Playgroud)

  • 好的,(i) 我想要我的 excel 文件中的确切值 (ii) 我想避免用科学形式表示最后两列中大数字的熊猫 (http://imgur.com/a/9Ls6c) (3认同)