2015-01-27 3 views
8

Я могу преобразовать файл csv в pandas DataFormat и распечатать таблицу, как показано ниже. Однако, когда я пытаюсь распечатать столбец Height, я получаю сообщение об ошибке. Как я могу это исправить?AttributeError: объект 'DataFrame' не имеет атрибута 'Height'

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

Что 'печать df.columns' показать? Возможно, у вас есть лишние пробелы в именах столбцов. – DSM

+0

Учебник показывает typedf) -> pandas.core.series.Series Однако, когда я использую type (df) -> pandas.core.frame.DataFrame – user3062459

+0

print df.columns Index ([u'Height ', u 'Вес', u'Classifer '], dtype =' object ') – user3062459

ответ

13

я столкнулся с подобным вопросом, прежде чем при чтении из csv. Предполагая, что это одно и то же:

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

Ошибка в моем случае была вызвана (я думаю) маркером порядка байтов в формате CSV или какой-либо другой непечатному характера добавляются к первой метке столбца. df.columns возвращает массив имен столбцов. df.columns[0] получает первый. Попробуйте распечатать его и посмотреть, что-то странно с результатами.

+0

Это сработало. спасибо – user3062459

0

PS На приведенном выше ответе JAB - если в названиях столбцов явно есть пробелы, используйте skipinitialspace = True в read_csv, например.

ДФ = pd.read_csv ('/ путь ../ NavieBayes.csv', skipinitialspace = True)

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