I found plenty of answers on how to suppress scientific notation in pandas, but how do I enable it? I found the option pd.set_option('precision', 2)
but it does not turn large numbers into scientific notation.
For example, I would like the number 123066.14
to be formatted as 1.23E+5
. I am using a pandas.DataFrame
, and it would be useful to set the formatting for an entire column when exporting/printing.
OK, I figured this out, you can use set_option
and pass a format string to option 'display.float_format'
:
In [76]:
pd.set_option('display.float_format', '{:.2g}'.format)
In [78]:
pd.Series(data=[0.00000001])
Out[78]:
0 1e-08
dtype: float64
EDIT
to match your desired output:
In [79]:
pd.set_option('display.float_format', '{:.2E}'.format)
pd.Series(data=[0.00000001])
Out[79]:
0 1.00E-08
dtype: float64
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With