'suppress Name dtype from python pandas describe
Lets say I have
r = pd.DataFrame({'A':1 ,
'B':pd.Series(1,index=list(range(4)),dtype='float32')})
And r['B'].describe()[['mean','std','min','max']]
gives an output :
mean 1.0
std 0.0
min 1.0
max 1.0
Name: B, dtype: float64
But from the above output , how should I get rid or suppress the last line " Name:B, dtype: float64
"
I figured out one way to achieve this
x=r['B'].describe()[['mean','std','min','max']]
print "mean ",x['mean'],"\nstd ",x['std'],"\nmin ",x['min'],"\nmax ",x['max']
which gives the desired output :
mean 1.0
std 0.0
min 1.0
max 1.0
Is there any cleaner to achieve this output directly from pd.describe( )
Solution 1:[1]
If need output as DataFrame
add reset_index
:
x=r['B'].describe()[['mean','std','min','max']].reset_index()
print (x)
index B
0 mean 1.0
1 std 0.0
2 min 1.0
3 max 1.0
And then use DataFrame.to_string
:
print (x.to_string(header=None, index=None))
mean 1.0
std 0.0
min 1.0
max 1.0
Solution 2:[2]
better answer
use to_csv
on dataframe
rd = r.B.describe()[['mean','std','min','max']].reset_index()
print(rd.to_csv(header=None, index=None, sep='\t'))
mean 1.0
std 0.0
min 1.0
max 1.0
old answer
for name, value in r['B'].describe()[['mean','std','min','max']].iteritems():
print('{:<5s} {:2.1f}'.format(name, value))
mean 1.0
std 0.0
min 1.0
max 1.0
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 |