我有一个包含以下字段的数据集:
- 构建 GUID(
abcd-efgh-5678-1234
、...
等) - 街道地址(
1256 Grant St
、500 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/