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

如何在pandas中提取含SAT的ID列内-连接数字生成新列

pandas 按规则提取ID列内容生成新字段解决方案

实现逻辑

  • 仅处理ID列包含SAT的行,其余行new_col直接填充NaN
  • 对包含SAT的ID,用正则匹配所有「数字-数字」格式的连续片段
  • 取最后一个匹配到的符合规则的片段作为返回值,无匹配返回NaN

实现代码

  1. 导入依赖
import pandas as pd
import numpy as np
import re
  1. 定义提取规则函数
def extract_valid_segment(id_str):
    if "SAT" not in id_str:
        return np.nan
    # 匹配所有数字-数字格式的片段
    match_res = re.findall(r"\d+-\d+", id_str)
    if match_res:
        # 取最后一个匹配结果符合示例要求
        return match_res[-1]
    return np.nan
  1. 生成新字段
df["new_col"] = df["ID"].apply(extract_valid_segment)

运行上述代码后得到的new_col和你提供的期望输出完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:45:05