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

如何用Python正则筛选DataFrame中以'-A'加1-2位数字结尾的列

解决Pandas提取特定结尾列名的问题

你原来的正则表达式\A+\d完全不符合需求,它是试图匹配以一个或多个字符串开头标记加数字的内容,和你要找的“以'-A'后跟1-2位数字结尾”的列名完全不沾边。

正确的做法是用匹配字符串结尾为'-A'加1到2位数字的正则,代码如下:

data.columns[data.columns.str.contains(r'-A\d{1,2}$')]

正则各部分含义:

  • -A:匹配列名末尾的固定字符串片段
  • \d{1,2}:匹配1位或2位阿拉伯数字
  • $:强制要求模式位于字符串的最后位置,避免误匹配那些中间包含-Axx但结尾不符合的列

用这个代码就能准确提取你列出的所有目标列:'Hex-A14'、'2-But-1,1,1,3,3-A5'、'Hep-A16'、'2-Pen-1,1,1,3,3-A5'、'Oct-A18'、'Dec-A22'、'Dod-A26'、'(2RS,5R)-Ment-2,6,6-A3'。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 10:54:57