2016-10-27 2 views
7

Допустим, у меня естьподавить Имя DTYPE из питона панд описывают

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

Если мой или другой ответ был полезным, не забывайте [acc ept] (http://meta.stackexchange.com/a/5235/295067) - нажмите на галочку ('✓') рядом с ответом, чтобы переключить ее с серого на заполненный. Спасибо. – jezrael

ответ

4

лучшего ответа
использование to_csv на 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 

старый ответ

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 
+0

Я использовал 'value_counts', а не' describe', поэтому я хотел сохранить индекс и удалить конечную новую строку: 'df.reset_index(). To_csv (header = None, index = None, sep = '\ t') [: - 1] ' – Neofish

5

Если выход потребность в 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

Работал отлично. –

+0

@Alex - Спасибо. – jezrael

+0

df.to_string() здесь волшебство – nedned

Смежные вопросы