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

如何从现有pandas Series提取指定值并保留原索引创建新Series?

提取Series指定值并保留原索引的解决方案

错误原因说明

你之前使用s.values(['America/New_York'])报错,是因为s.values返回的是numpy数组,数组不能通过括号调用(这是函数调用语法),所以触发TypeError。另外你对loc的理解有误——loc不仅支持按索引标签筛选,还支持布尔条件筛选。

正确实现方法

以下三种方法都能实现需求,任选其一即可:

方法1:布尔索引直接筛选

这是最直观简洁的方式,通过条件判断生成布尔数组,直接筛选目标元素:

s1 = s[s == 'America/New_York']

方法2:使用loc筛选

loc支持布尔索引,写法更明确:

s1 = s.loc[s == 'America/New_York']

方法3:query方法(类SQL风格)

如果偏好类SQL的语法,可以使用query:

s1 = s.query('values == "America/New_York"')

结果验证

运行上述代码后,得到的s1会保留原Series中所有值为America/New_York的元素,以及它们在原Series中的索引位置,示例输出如下:

0          America/New_York
2          America/New_York
4          America/New_York
               ...         
3435       America/New_York
3439       America/New_York
Length: X, dtype: object

其中X为原Series中America/New_York的实际数量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 14:45:34