How can one modify the format for the output from a groupby operation in pandas that produces scientific notation for very large numbers. I know how to do string formatting in python but I'm at a loss when it comes to applying it here.
df1.groupby('dept')['data1'].sum()
dept
value1 1.192433e+08
value2 1.293066e+08
value3 1.077142e+08
This suppresses the scientific notation if I convert to string but now I'm just wondering how to string format and add decimals.
sum_sales_dept.astype(str)
Here is another way of doing it, similar to Dan Allan's answer but without the lambda function:
or
You can use round function just to suppress scientific notation for specific dataframe:
or you can suppress is globally by:
Granted, the answer I linked in the comments is not very helpful. You can specify your own string converter like so.
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:
If you would like to use the values, say as part of csvfile csv.writer, the numbers can be formatted before creating a list: