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

在R语言中从dataframe特定行提取字符串至Alt_ID列

解决方案

核心思路

仅针对指定的第1、2、3、6行(注意:若你的DataFrame使用默认0起始索引,对应索引为0、1、2、5;若索引与行号一致,则对应索引1、2、3、6),通过精准匹配提取"JMs # "后的字母数字组合,赋值给Alt_ID列,其余行保持空值。

代码实现

import pandas as pd
import re

# 初始化Alt_ID列为空值
df1['Alt_ID'] = pd.NA

# 指定需要处理的目标行(根据实际索引调整)
target_rows = [1, 2, 3, 6]

# 定义提取逻辑:匹配"JMs # "后的字母数字内容
def extract_jm_id(text):
    match = re.search(r'JMs # ([A-Za-z0-9]+)', text)
    return match.group(1) if match else pd.NA

# 仅对目标行执行提取操作
df1.loc[target_rows, 'Alt_ID'] = df1.loc[target_rows, 'Field_notes'].apply(extract_jm_id)

关键说明

  • 正则表达式r'JMs # ([A-Za-z0-9]+)'精准锁定"JMs # "后的字母数字组合,避免误提取"# broken leg"这类无关内容。
  • 通过loc定位目标行,确保只有指定行被处理,其他行Alt_ID维持初始空值状态。
  • 若你的行号是从0开始计数(pandas默认显示的第一行索引为0),需将target_rows修改为[0,1,2,5]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 23:35:23