dataframe.describe() suppress scientific notation

dataframe, pandas, python

Solution

For single column:

contrib_df["AMNT"].describe().apply(lambda x: format(x, 'f'))

For entire DataFrame (as suggested by @databyte )

df.describe().apply(lambda s: s.apply('{0:.5f}'.format))

For whole DataFrame (as suggested by @Jayen):

contrib_df.describe().apply(lambda s: s.apply(lambda x: format(x, 'g')))

As the function describe returns a data frame, what the above function does is, it simply formats each row to the regular format. I wrote this answer because I was having a though, in my mind, that was ** It's pointless to get the count of 95 as 95.00000e+01** Also in our regular format its easier to compare.

Before applying the above function we were getting

count    9.500000e+01
mean     5.621943e+05
std      2.716369e+06
min      4.770000e+02
25%      2.118160e+05
50%      2.599960e+05
75%      3.121170e+05
max      2.670423e+07
Name: salary, dtype: float64

After applying, we get

count          95.000000
mean       562194.294737
std       2716369.154553
min           477.000000
25%        211816.000000
50%        259996.000000
75%        312117.000000
max      26704229.000000
Name: salary, dtype: object

Problem

How do I suppress scientific notation output from dataframe.describe(): ``` contrib_df["AMNT"].describe() count 1.979680e+05 mean 5.915134e+02 std 1.379618e+04 min -1.750000e+05 25% 4.000000e+01 50% 1.000000e+02 75% 2.500000e+02 max 3.000000e+06 Name: AMNT, dtype: float64 ``` My data is of type float64: ``` contrib_df["AMNT"].dtypes dtype('float64') ```

Original source

Related problems