让我说我有
r = pd.DataFrame({'A':1 ,
'B':pd.Series(1,index=list(range(4)),dtype='float32')})
r['B'].describe()[['mean','std','min','max']]
给出了输出:
mean 1.0
std 0.0
min 1.0
max 1.0
Name: B, dtype: float64
但是从上面的输出中,我应该如何摆脱或压制最后一行“Name:B, dtype: float64
”
我想出了实现这个目标的一种方法
x=r['B'].describe()[['mean','std','min','max']]
print "mean ",x['mean'],"\nstd ",x['std'],"\nmin ",x['min'],"\nmax ",x['max']
给出了所需的输出:
mean 1.0
std 0.0
min 1.0
max 1.0
是否有任何清洁工可以直接从pd.describe()
获得此输出答案 0 :(得分:7)
如果需要输出为DataFrame
,请添加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
然后使用DataFrame.to_string
:
print (x.to_string(header=None, index=None))
mean 1.0
std 0.0
min 1.0
max 1.0
答案 1 :(得分:5)
更好的回答
在数据框上使用to_csv
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
旧答案
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