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

如何判断列编码为3位数字并提取首位生成新的team列

实现team列的具体方案

核心逻辑

判断编码是否同时满足两个条件:1. 去除首尾空格后长度为3;2. 内容为纯数字。满足则取编码第一位作为team值,否则返回NULL。

不同场景实现代码

Azure 数据流派生列表达式(对应你当前使用的数据流场景)

直接在派生列中写入如下表达式即可,将其中的code替换为你实际的编码字段名:

iif(length(trim(code)) == 3 && isInteger(code), left(trim(code), 1), toString(null()))

SQL 实现

如果可以通过SQL脚本处理数据,可用如下语句:

SELECT 
    其他字段,
    CASE WHEN LENGTH(TRIM(code)) = 3 AND code REGEXP '^[0-9]{3}$' THEN LEFT(TRIM(code),1) ELSE NULL END AS team
FROM 你的表名

Python Pandas 实现

如果用Python处理数据,可参考如下代码:

import pandas as pd
import numpy as np

df['team'] = np.where(
    (df['code'].astype(str).str.strip().str.len() == 3) & 
    (df['code'].astype(str).str.strip().str.isdigit()),
    df['code'].astype(str).str.strip().str[0],
    np.nan
)

效果验证

规则匹配测试:

  • 编码315:符合规则,team值为3
  • 编码240:符合规则,team值为2
  • 编码3300:长度不符,team值为NULL
  • 编码12x:非纯数字,team值为NULL

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 09:09:07