2016-10-31 4 views
-5

Я учусь делать статистический анализ с помощью Python. После успешной загрузки моего набора данных и попыток распечатки статистика набора данных дает мне ошибку атрибута. Вот мой код:AttributeError при попытке печати описать()

my_data = pd.read_csv('C:/Users/ME/dataset1.csv', sep=',') 
print.my_data.describe() 

Вот что я возвращаю.

AttributeError: 'builtin_function_or_method' object has no attribute 'my_data' 

Я исправил проблему с помощью

print(my_data(describe)) 

, но все-таки хотелось бы знать, почему print.my_data.describe() не работает.

+0

'print' это метод, а не пакет. –

+1

Вопрос в том, почему вы ожидали 'print.my_data' * to * работы? Где вы взяли, что функция 'print' имела бы атрибут' my_data' как атрибут? Если это публичный источник, то это, возможно, можно исправить. –

+0

Кроме того, 'print (my_data (описать))' не будет работать * либо *. ['describe()' - это метод на фрейме данных) (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.describe.html), предположительно вы пытаетесь напечатать возвращаемое значение , поэтому вы должны использовать 'print (my_data.describe())'. 'My_data.описать 'обращается к методу (это атрибут), тогда'() 'вызывает этот метод, а * результат * этого вызова передается функции' print() '. –

ответ

0

Это не работает, потому что функция печати не имеет атрибута с именем my_data. По совпадению это то, что сообщение об ошибке говорит

0

TL; DR

Использование print(my_data.describe())


Я думаю, что вопрос лучше спросить (как @ MartijnPieters уже упоминалось), где не так что идея print.my_data будет работать?

print() - встроенная функция на Python, которая позволяет выводить данные на ваш терминал. От the Python docs on print():

[Функция печати] печатает [s] объекты в текстовом потоке, разделенные sep и затем заканчиваются. sep, end и file, если они есть, должны быть указаны как аргументы ключевых слов.


Принимая информацию выше, мы можем сделать вывод, что print() функция. Чтобы использовать функцию в Python (и почти любой другой язык программирования), вы должны позвонить ей с помощью оператора (). При вызове функции вы помещаете аргументы функций внутри, например, ().

>>> print("Hello World") 
Hello World 
>>> print("Goodbye World") 
Goodbye World 
>>> print(1) 
1 
>>> print(2) 
2 
>>> 

После прочтения этой информации ваша проблема должна быть ясной. Неправильное использование функции печати. Вам нужно вызвать функцию print(), а не пытаться получить один из ее атрибутов.

Таким образом, правильный способ печати возвращаемого значения my_data.describe(), чтобы написать:

print(my_data.describe())

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