2015-01-27 17 views
8

Sono in grado di convertire un file csv in DataFormat pandas e in grado di stampare la tabella, come mostrato di seguito. Tuttavia, quando provo a stampare la colonna Height, ho un errore. Come posso risolvere questo?AttributeError: l'oggetto 'DataFrame' non ha attributo 'Altezza'

import pandas as pd 

df = pd.read_csv('/path../NavieBayes.csv') 
print df #this prints out as seen below 
print df.Height #this gives me the "AttributeError: 'DataFrame' object has no attribute 'Height' 

     Height Weight Classifer 
0  70.0  180  Adult 
1  58.0  109  Adult 
2  59.0  111  Adult 
3  60.0  113  Adult 
4  61.0  115  Adult 
+0

Cosa 'stampa df.columns' mostrare? Forse hai qualche spazio in più nei nomi delle colonne. – DSM

+0

Il tutorial mostra typedf) -> pandas.core.series.Series Tuttavia, quando uso type (df) -> pandas.core.frame.DataFrame – user3062459

+0

print df.columns Index ([u'Height ', u 'Peso', u'Classifer '], dtype =' oggetto ') – user3062459

risposta

13

ho incontrato un problema simile prima, quando la lettura da csv. Supponendo che è lo stesso:

col_name =df.columns[0] 
df=df.rename(columns = {col_name:'new_name'}) 

L'errore nel mio caso è stato causato da (credo) da un indicatore di ordine di byte in csv o qualche altro carattere non stampabile che viene aggiunto alla prima etichetta di colonna. df.columns restituisce un array con i nomi delle colonne. df.columns[0] ottiene il primo. Prova a stamparlo e vedere se qualcosa è strano con i risultati.

+0

Ha funzionato. Grazie – user3062459

0

PS Sopra sopra risposta da JAB - se vi sono chiaramente spazi nei nomi delle colonne utilizzare skipinitialspace = True in read_csv, ad es.

df = pd.read_csv ('/ percorso ../ NavieBayes.csv', skipinitialspace = True)

Problemi correlati