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

Pandas依据f列值筛选a列元素,query查询返回空Series问题求解

问题根因

  • f列存在1m类字符串值,pandas读取时会将整列判定为字符串(object)类型,你使用f==2的条件是和整数做匹配,类型不匹配导致无匹配结果。
  • 你提供的原始数据中,部分f列取值为2的行末尾带有多余空格,就算直接和字符串'2'匹配也会失败。

解决方法

方案1:清洗f列后永久生效

先对f列做标准化处理,再执行查询:

# 移除f列值的首尾空白,提取纯数字部分后转为浮点型
df['f'] = df['f'].str.strip().str.extract(r'(\d+\.?\d*)').astype(float)
# 执行查询
elements = df.query('f == 2')['a']

方案2:不修改原数据的临时查询

# 直接对f列做临时处理后匹配字符串2
elements = df[df['f'].str.strip() == '2']['a']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:54:04