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