I am trying to get the .describe()
function to output in a reformatted way.
Here is the csv data (testProp.csv
)
'name','prop'
A,1
A,2
B, 4
A, 3
B, 5
B, 2
when I type in the following:
from pandas import *
data = read_csv('testProp.csv')
temp = data.groupby('name')['prop'].describe()
temp.to_csv('out.csv')
the output is:
name
A count 3.000000
mean 2.000000
std 1.000000
min 1.000000
25% 1.500000
50% 2.000000
75% 2.500000
max 3.000000
B count 3.000000
mean 3.666667
std 1.527525
min 2.000000
25% 3.000000
50% 4.000000
75% 4.500000
max 5.000000
dtype: float64
However, I want the data in the format below. I have tried transpose()
and would like to maintain using the describe()
and manipulate that instead of a .agg([np.mean(), np.max(), etc.... )
:
count mean std min 25% 50% 75% max
A 3 2 1 1 1.5 2 2.5 3
B 3 3.666666667 1.527525232 2 3 4 4.5 5
You can achieve that by running below code :
from pandas import *
data = read_csv('testProp.csv')
data.describe().T
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