在R语言中检测Unit/POSN列的MSTC并在新列标记1的方法
给包含MSTC的Unit标记1的实现方案
高效实现方法(推荐)
用pandas的矢量化字符串操作,比逐行遍历效率高很多,适合大数据集:
import pandas as pd # 假设你的数据集存储在DataFrame对象df中 # 新增has_MSTC列,包含MSTC的标记1,否则标记0 df['has_MSTC'] = df['Unit'].str.contains('MSTC', case=False, na=False).astype(int)
参数说明:
case=False:忽略大小写匹配,如果需要严格区分大小写,可删除该参数na=False:将缺失值(NaN)视为不包含MSTC,标记为0astype(int):将布尔结果(True/False)转换为1/0
逐行遍历实现(不推荐,效率低)
如果一定要用遍历的方式,可使用apply方法:
df['has_MSTC'] = df.apply(lambda x: 1 if 'MSTC' in str(x['Unit']) else 0, axis=1)
内容的提问来源于stack exchange,提问作者Kit
相关产品推荐
相关产品推荐

