You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas Series调用keys()需带括号访问values无需括号的原因

问题相关示例

我在如下示例中遇到相关疑问:

Country1 = {'Japan': 80, 'China': 450, 'India': 200, 'USA': 250}
Country2 = {'Brazil': 100,'China': 500,'India': 210,'USA': 260}

# Convert into Pandas Series

sales_Q1 = pd.Series(Country1)
sales_Q2 = pd.Series(Country2)

sales_Q1.keys()  #=====> Index(['Japan', 'China', 'India', 'USA'], dtype='object')
sales_Q1.values  #=====> array([ 80, 450, 200, 250], dtype=int64)
问题描述

将字典转换为Pandas Series对象后,为什么调用keys()获取键索引时需要添加括号,而访问values获取值数组时不需要使用括号?

解答

核心原因非常简单:这两个成员从实现逻辑上根本不是同一类东西。

  • keys()是Series对象绑定的实例方法,本质就是内置的可调用函数。所有函数都必须加括号触发调用才会执行逻辑、返回结果;如果漏写括号直接写sales_Q1.keys,你拿到的只是这个函数本身的引用,根本得不到实际的索引内容。
  • values是Series对象内置的实例属性,是对象初始化完成后就已经存储好的静态数据,不需要执行额外计算逻辑就能直接访问,自然不需要加括号。

顺带提一句,目前Pandas官方更推荐使用.to_numpy()方法代替.values获取底层值数组,这种方式对返回数组的数据类型控制更稳定,能避免不同版本下的类型兼容问题,不过.values作为Pandas早期版本就存在的经典属性,目前仍然可以正常使用。

内容的提问来源于stack exchange,提问作者Redouane Belkhatmi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 00:15:54