![](/img/trans.png)
[英]Extracting and then combining Street Address and Apartment Numbers in pandas
[英]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.