繁体   English   中英

将熊猫地址拆分为街道和门牌号码

[英]Splitting pandas address into street and house numbers

我有一个地址数据结构如下的数据帧:

tbm_a['address']

Rue de blabla 20

Vossenstraat 7

Rue Père Jean 3 boite Z

Rue XSZFEFEF 331

我想把它分成一列,街道和门牌号。

我试过这个 for 循环,但失败了:

import re
s = list(zip(tbm_a['address']))
for addr in s:
    tbm_a['street'] = re.findall('[^\d]*', addr)[0].strip()
    tbm_a['num'] = str(addr[len(street):].strip().split(' '))

然后我尝试了这个,并得到了号码:

tbm_a['address_num'] = tbm_a['address'].str.extract('(?P<number>\d+)', expand=True)

但我无法获得街道名称。 有什么建议?

根据您的数据,您可以:

df.address.str.extract('(?P<Street>\D+) (?P<Number>\d+.*)')

输出:

          Street     Number
0  Rue de blabla         20
1   Vossenstraat          7
2  Rue Père Jean  3 boite Z
3   Rue XSZFEFEF        331

请记住,如果您的街道名称中有数字,例如5th avenue ,这将失败。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM