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

Python实现:基于字符串最后两位生成DataFrame新列

提取URN末尾的国家代码

针对你的需求,这里有几种高效处理大型DataFrame的方法:

方法1:字符串分割(最直观)

利用str.split()按-分割字符串,取最后一段,同时用str.strip()去除可能的首尾空格:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'urn': [
        'CS16-1533232-GB ',
        'CS16-1533233-GB     ',
        'CS16-1533234-GB ',
        'CS16-1533235-BZ ',
        'CS16-1533238-GB'
    ]
})

# 提取国家代码
df['country'] = df['urn'].str.strip().str.split('-').str[-1]

方法2:字符串切片(性能最优)

如果国家代码固定是2位,直接从字符串末尾截取,先处理空格:

df['country'] = df['urn'].str.strip().str[-2:]

这种方法速度最快,适合超大型数据集。

方法3:正则表达式(适配复杂格式)

如果URN格式有变化,用正则匹配末尾的两位大写字母:

df['country'] = df['urn'].str.extract(r'([A-Z]{2})$', expand=False).str.strip()

运行后可得到目标结果:

urn country
0   CS16-1533232-GB      GB
1   CS16-1533233-GB      GB
2   CS16-1533234-GB      GB
3   CS16-1533235-BZ      BZ
4   CS16-1533238-GB      GB

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 07:53:10