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

如何在SAS中基于正则匹配逻辑创建新标记列

基于正则匹配创建标记列的实现方案

实现思路

针对自由文本列,通过不区分大小写的正则匹配,判断每行是否包含目标内容,将结果存入新列作为标记。

Pandas 代码实现(处理大型数据集高效方案)

假设你的数据集已加载为 Pandas DataFrame df,目标文本列名为 text_col,要创建的标记列名为 contains_GnRH:

方法1:高效的矢量化操作(推荐用于大型数据集)

import pandas as pd

# 读取数据集(替换为你的实际读取方式)
df = pd.read_csv("your_large_dataset.csv")

# 直接用str.contains实现不区分大小写匹配,na=False将缺失值标记为不匹配
df['contains_GnRH'] = df['text_col'].str.contains(r'GnRH', case=False, na=False)

方法2:自定义正则匹配(更灵活)

如果需要更复杂的正则逻辑,可先用re.compile预编译正则表达式:

import re

# 预编译不区分大小写的正则模式
gnrh_pattern = re.compile(r'GnRH', re.IGNORECASE)

# 用apply逐行判断(适合复杂正则,但大型数据集效率略低于矢量化方法)
df['contains_GnRH'] = df['text_col'].apply(lambda x: bool(gnrh_pattern.search(str(x))))

自定义标记格式

如果需要用"匹配"/"不匹配"这类文本标记而非布尔值,可修改代码:

# 矢量化方式实现文本标记
df['contains_GnRH'] = df['text_col'].str.contains(r'GnRH', case=False, na=False).map({True: '匹配', False: '不匹配'})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 18:10:47