В чем разница между df.head () и df.head? - PullRequest
0 голосов
/ 02 января 2019

В ноутбуке или терминале Jupyter и df.head, и df.head () могут возвращать выходные данные из фрейма данных с некоторыми незначительными различиями.В чем принципиальное различие между двумя различными выражениями и какую роль играют скобки в Python в целом?Спасибо!

>>>df.head
<bound method NDFrame.head of          Date    Open    High     Low   Close    Volume
0    1-Jun-17  153.17  153.33  152.22  153.18  16404088
1    2-Jun-17  153.58  155.45  152.89  155.45  27770715
2    5-Jun-17  154.34  154.45  153.46  153.93  25331662
3    6-Jun-17  153.90  155.81  153.78  154.45  26624926
4    7-Jun-17  155.02  155.98  154.48  155.37  21069647
5    8-Jun-17  155.25  155.54  154.40  154.99  21250798
6    9-Jun-17  155.19  155.19  146.02  148.98  64882657
7   12-Jun-17  145.74  146.09  142.51  145.42  72307330
8   13-Jun-17  147.16  147.45  145.15  146.59  34165445
9   14-Jun-17  147.50  147.50  143.84  145.16  31531232
10  15-Jun-17  143.32  144.48  142.21  144.29  32165373
>>> df.head()
       Date    Open    High     Low   Close    Volume
0  1-Jun-17  153.17  153.33  152.22  153.18  16404088
1  2-Jun-17  153.58  155.45  152.89  155.45  27770715
2  5-Jun-17  154.34  154.45  153.46  153.93  25331662
3  6-Jun-17  153.90  155.81  153.78  154.45  26624926
4  7-Jun-17  155.02  155.98  154.48  155.37  21069647

Ответы [ 3 ]

0 голосов
/ 02 января 2019

head вернуть method head() вернуть верхнюю строку 5 (по умолчанию) в вашем фрейме данных

type(df.head)
<class 'method'>
type(df.head())
<class 'pandas.core.frame.DataFrame'>
0 голосов
/ 02 января 2019

Это не просто "незначительные отличия".На самом деле вы вообще не взяли голову на себя, а df.head.

df.head() фактически взяли на себя голову информационного кадра.Вы можете видеть, что выходные данные имеют только 5 строк:

>>> df.head()
       Date    Open    High     Low   Close    Volume
0  1-Jun-17  153.17  153.33  152.22  153.18  16404088
1  2-Jun-17  153.58  155.45  152.89  155.45  27770715
2  5-Jun-17  154.34  154.45  153.46  153.93  25331662
3  6-Jun-17  153.90  155.81  153.78  154.45  26624926
4  7-Jun-17  155.02  155.98  154.48  155.37  21069647

Напротив, df.head - это просто объект метода для head метода фрейма данных df.Скобки необходимы для фактического вызова метода.repr объекта метода в основном

f"<bound method {classname}.{methodname} of {object!r}"

с именем класса, именем метода и repr объекта, замененного в соответствующих местах.Часть вывода, которая выглядит как информационный фрейм, на самом деле является repr оригинального df.У него 10 строк вместо 5, потому что это весь исходный кадр данных, а не заголовок.

0 голосов
/ 02 января 2019

Круглые скобки используются для вызова функции.Давайте рассмотрим небольшой пример с append, просто использование его без скобок в списке ничего не даст, так как он просто вернет саму функцию, но с помощью скобок вызовет функцию:

a = [1]
a.append
print(a)
[1]

a.append(2)
print(a)
[1, 2]

append = a.append
append(3)
print(a)
[1, 2, 3]

То, что вы видите, когда простоиспользование head аналогично.Они просто добавили некоторый код для фактического вызова функции со значением по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...