小编Bob*_*ite的帖子

python - 从完整地址获取邮政编码

我有一个数据框,其中一列中有完整地址,我需要创建一个仅包含邮政编码的单独列。有些地址只有五位数字的邮政编码,而其他地址则有额外的四位数字。

如何拆分列以获取邮政编码?

示例数据

d = {'name':['bob','john'],'address':['123 6th Street,Sterling VA 20165-7513','567 7th Street, Wilmington NC 28411']}
df = pd.DataFrame(d)
Run Code Online (Sandbox Code Playgroud)

我尝试使用 rpartition 但我得到了邮政编码之前的所有内容:

df['test'] = df['address'].str.rpartition(" ")
print(df)
name    address                                test
bob     123 6th Street,Sterling VA 20165-7513  123 6th Street,Sterling VA
john    567 7th Street, Wilmington NC 28411    567 7th Street, Wilmington NC
Run Code Online (Sandbox Code Playgroud)

这就是我想要得到的:

name    address                                zipcode
bob     123 6th Street,Sterling VA 20165-7513  20165-7513
john    567 7th Street, Wilmington NC 28411    28411
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

4
推荐指数
1
解决办法
7383
查看次数

标签 统计

dataframe ×1

pandas ×1

python ×1