python - 按街道地址分组并将其拆分为街道名称和号码

标签 python pandas

我有一个包含以下字段的数据集:

  • 构建 GUID(abcd-efgh-5678-1234... 等)
  • 街道地址(1256 Grant St500 wall st 等)
  • 价格(5000 美元10000 美元等)

基于此,我想向 Pandas 中的 DataFrame 对象添加两个新列。:

  • 街道名称(wall st)
  • 街道号码 (500)

到目前为止,我已经能够获取单词 wall st 的特定实例,如下所示:

str_street = 'Wall St'
wall_st  = dataset.loc[dataset['street_address'].str.lower().str.endswith(str_street.lower()), :]
wall_st['street_name'] = ???
wall_st['street_address_number'] = ???

我该如何去做呢?

最佳答案

我认为你需要extract :

df = pd.DataFrame({'street address': ['500 wall street', '123 blafoo']})
print (df)
    street address
0  500 wall street
1       123 blafoo

df1 = df['street address'].str.extract('(?P<number>\d+)(?P<name>.*)', expand=True)
print (df1)
  number          name
0    500   wall street
1    123        blafoo

解决方案 split :

df[['number','name']] = df['street address'].str.split(n=1, expand=True)
print (df)
    street address number         name
0  500 wall street    500  wall street
1       123 blafoo    123       blafoo

关于python - 按街道地址分组并将其拆分为街道名称和号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42785971/

相关文章:

python - 根据 pandas 中的其他列内容对列进行操作

pandas groupby导致keyerror

python - 按组从零开始计数

python - 查询 Pandas 数据帧索引

javascript - 字符转义: from Python string literal to JSON and then to HTML

python - 1 :n values in dictionary python

python - pandas:合并、连接和连接的第一步

python - 如何使用OpenCV在路边画一条线?

python - Base64 对 AppEngine 上上传的数据进行二进制编码

python - Pandas DF 在同一计算中两次引用同一切片