Jas*_* Hu 0 python python-3.x pandas jupyter-notebook
在Jupyter Notebook或终端中,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
Run Code Online (Sandbox Code Playgroud)
head返回method head()数据框中的前 5(默认)行
type(df.head)
<class 'method'>
type(df.head())
<class 'pandas.core.frame.DataFrame'>
Run Code Online (Sandbox Code Playgroud)
这些不仅仅是"微小差异".你实际上根本没有采取过头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
Run Code Online (Sandbox Code Playgroud)
相反,df.head它只是head数据帧方法的方法对象df.实际调用该方法需要括号.方法对象repr基本上是
f"<bound method {classname}.{methodname} of {object!r}"
Run Code Online (Sandbox Code Playgroud)
使用类名,方法名和repr在适当位置替换的对象.事实上,看起来像数据帧的输出部分是repr原始部分df.它有10行而不是5行,因为它是整个原始数据帧,而不是头部.
Y0d*_*0da -1
括号用于调用函数。让\xe2\x80\x99s 举一个小例子,append在列表上不带括号而使用它不会执行任何操作,因为它只会返回函数本身,但使用括号调用该函数:
a = [1]\na.append\nprint(a)\n[1]\n\na.append(2)\nprint(a)\n[1, 2]\n\nappend = a.append\nappend(3)\nprint(a)\n[1, 2, 3]\nRun Code Online (Sandbox Code Playgroud)\n\n刚使用时看到的内容head是相似的。他们只是添加了一些代码来实际调用具有默认值的函数。
| 归档时间: |
|
| 查看次数: |
4055 次 |
| 最近记录: |