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

如何筛选DataFrame中同时包含software和packages的列名?

提取DataFrame中同时含software和packages(含大小写变体)的列名

你原来的代码只实现了单关键词筛选,要同时匹配**software(任意大小写)和package/packages(任意大小写)**的列名,不管两个词的先后顺序,可以用不区分大小写的正则表达式简化写法,同时覆盖两种词序的情况:

# 筛选同时包含software(任意大小写)和package/packages(任意大小写)的列
target_cols = df.filter(regex='(?i)(software.*package|package.*software)').columns

正则说明:

  • (?i):全局开启不区分大小写模式,不用再枚举Software|software|SOFTWARE这类冗余写法
  • software.*package:匹配列名中先出现software类词汇,之后出现package类词汇的情况(.*表示中间可以有任意字符)
  • package.*software:匹配列名中先出现package类词汇,之后出现software类词汇的情况
  • 用|分隔两种顺序,确保不管两个词的先后位置都能被匹配

这个写法可以完美匹配你给出的示例列名:Local Software Packages、Software XYZ Packages、Software Package。

如果需要更严格区分单数/复数,比如只匹配packages(复数),可以把正则里的package改成packages;如果要同时兼容单数和复数,也可以写成package(s)?,不过上面的写法已经能覆盖这两种情况了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 22:48:20