Jupyter Notebook中min、average等函数加与不加括号()的差异
核心原理说明
Python中函数/方法本身也是对象,加不加括号的本质差异如下:
- 加括号
():代表执行该方法,返回方法运行后得到的计算结果 - 不加括号:直接返回方法对象本身,不会触发对应的计算逻辑
两种写法的差异解释
1. 加括号的正确写法
data['PRICE'].min()
输出5.0是执行min方法后的计算结果,也就是PRICE列的最小值,符合预期。
2. 不加括号的输出解读
data['PRICE'].min
输出的<bound method Series.min of 0 24.0...dtype: float64>可拆解为三部分:
bound method Series.min:说明这是pandas的Series类内置的min方法对象,已经和具体的Series实例(也就是你的PRICE列数据)绑定- 中间的0到505行数值列表:是该方法绑定的PRICE列的部分数据预览
- 末尾的
Name: PRICE, Length: 506, dtype: float64:是这个Series实例的基础元信息,说明列名是PRICE,共506条数据,数据类型是float64
简单来说,不加括号时Python没有执行求最小值的计算,只是把「用来求最小值的方法工具本身」的信息打印出来了。
你可以用更简单的代码理解这个逻辑:
def add(a, b): return a + b # 不加括号,返回函数对象本身 print(add) # 输出 <function add at 0xxxxxxxx> # 加括号,执行函数返回计算结果 print(add(1,2)) # 输出 3
这和你遇到的min方法的表现逻辑完全一致。

内容的提问来源于stack exchange,提问作者beth
相关产品推荐
相关产品推荐

