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

Python如何从DataFrame的完整邮政编码字段中提取国家代码

pandas提取邮政编码前两位国家代码实现方案

你需要实现的是提取字符串列的前两位字符,直接用pandas内置的字符串访问器str做切片即可,不需要用到factorize、groupby这类用于分类编码、分组聚合的方法,相关实现代码如下:

import pandas as pd
df = pd.DataFrame({
    'CODE_LOAD_PLACE' : ['PL43100', 'CZ25905', 'DE29333', 'DE29384', 'SK92832']
})

# 提取前两位字符作为国家代码列
df['COUNTRY_LOAD_PLACE'] = df['CODE_LOAD_PLACE'].str[:2]

print(df)

运行后即可得到你期望的输出结果:

CODE_LOAD_PLACE COUNTRY_LOAD_PLACE
0          PL43100                 PL
1          CZ25905                 CZ
2          DE29333                 DE
3          DE29384                 DE
4          SK92832                 SK

补充说明:

  • .str是pandas专门用于Series字符串操作的访问器,后面接[:2]就是对每个字符串取前两位的切片操作
  • 如果数据集里存在长度不足2位的异常编码,可以加异常兼容逻辑,示例:
# 异常值兼容:长度不足2位的编码对应的国家代码填充为'未知'
df['COUNTRY_LOAD_PLACE'] = df['CODE_LOAD_PLACE'].str[:2].where(df['CODE_LOAD_PLACE'].str.len() >= 2, '未知')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:54:00