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

pandas query方法无法识别f字符串或format生成变量,查询返回空行如何解决

问题原因

两次赋值的变量a存在大小写差异:

  • 手动硬编码的a值为1736_4_A1,末段为大写A1,和数据表中array_id字段的存储值完全一致,可正常匹配
  • 格式化字符串生成的a打印结果为1736_4_a1,末段为小写a1,字符串匹配默认区分大小写,因此查询返回空结果
解决方法
  • 方案1:生成变量时统一转为大写,和数据表存储格式对齐
# 拼接后调用upper()方法转为全大写
a = "{}_{}_{}".format(waferid, slideid, position).upper()
df = metaData.query("array_id == @a")
  • 方案2:在查询时做大小写不敏感匹配,无需修改变量生成逻辑
# 将查询字段和变量都转为小写再匹配
df = metaData.query("array_id.str.lower() == @a.lower()")
  • 方案3:如果是position变量本身为小写,直接在拼接时转大写即可
a = f"{waferid}_{slideid}_{position.upper()}"
df = metaData.query("array_id == @a")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:24:02