Format / Suppress Scientific Notation from Python Pandas Aggregation Results Format / Suppress Scientific Notation from Python Pandas Aggregation Results python python

Format / Suppress Scientific Notation from Python Pandas Aggregation Results


Granted, the answer I linked in the comments is not very helpful. You can specify your own string converter like so.

In [25]: pd.set_option('display.float_format', lambda x: '%.3f' % x)In [28]: Series(np.random.randn(3))*1000000000Out[28]: 0    -757322420.6051   -1436160588.9972   -1235116117.064dtype: float64

I'm not sure if that's the preferred way to do this, but it works.

Converting numbers to strings purely for aesthetic purposes seems like a bad idea, but if you have a good reason, this is one way:

In [6]: Series(np.random.randn(3)).apply(lambda x: '%.3f' % x)Out[6]: 0     0.0261    -0.4822    -0.694dtype: object


Here is another way of doing it, similar to Dan Allan's answer but without the lambda function:

>>> pd.options.display.float_format = '{:.2f}'.format>>> Series(np.random.randn(3))0    0.411    0.992    0.10

or

>>> pd.set_option('display.float_format', '{:.2f}'.format)


You can use round function just to suppress scientific notation for specific dataframe:

df1.round(4)

or you can suppress is globally by:

pd.options.display.float_format = '{:.4f}'.format