Pandas python .describe() formatting/output
One way to do this would be to first do .reset_index()
, to reset the index for your temp
DataFrame, and then use DataFrame.pivot
as you want . Example -
In [24]: df = pd.read_csv(io.StringIO("""name,prop
....: A,1
....: A,2
....: B, 4
....: A, 3
....: B, 5
....: B, 2"""))
In [25]: temp = df.groupby('name')['prop'].describe().reset_index()
In [26]: newdf = temp.pivot(index='name',columns='level_1',values=0)
In [27]: newdf.columns.name = '' #This is needed so that the name of the columns is not `'level_1'` .
In [28]: newdf
Out[28]:
25% 50% 75% count max mean min std
name
A 1.5 2 2.5 3 3 2.000000 1 1.000000
B 3.0 4 4.5 3 5 3.666667 2 1.527525
Then you can save this newdf
to csv.