如何仅使用python从地址列中删除房屋/建筑物编号

时间:2017-05-30 17:22:58

标签: python regex split

我的数据框中有一列地址。我想从字符串中删除门牌号,并仅使用街道名称来制作树形图或wordcloud。 但是,有些地址在街道名称之前有3位数或有时更多。此外,一些街道名称本身有数字,所以我不能使用%d删除str.split或regex中的数字。我最近开始学习python,所以我不知道如何分割这种字符串。任何帮助将不胜感激。

以下是列中给出的地址示例:
3150 N HONORE ST
139 E 103RD ST
412 E EOWER WACKER DR
300 E 94TH ST
10340 S AVENUE J
619 S KEDVALE AVE

3 个答案:

答案 0 :(得分:0)

您可以使用正则表达式:^\d*\s

https://regex101.com/r/B7DbxW/1

答案 1 :(得分:0)

假设所有房屋地址中没有空格,您可以将字符串拆分为第一个空格。用法示例:

s="3150 N Honore St"
new_s=s.split(" ",1)[1]

要打破它 - s.split(" ",1)在第一个空格处拆分字符串,但只有一次。这将形成一个字符串列表,看起来像['3150','N Honore St']。由于您只需要后一部分,[1]会选择它。

答案 2 :(得分:0)

我刚开始使用Python中的正则表达式,但这是我的尝试:

\d+\s[A-Z]\s+(.+)

如果您想查看匹配项,请点击此链接:https://regex101.com/r/rzNgTL/1