我試圖在字串中的特定單詞“zip_code”之后獲取郵政編碼。
我有一個資料框,其中有一列名為“location”,在這一列中有一個字串,我想識別單詞“zip_code”并獲取每一行的這個單詞之后的值。
輸入
name location
Bar1 LA Jefferson zip_code 202378 Avenue free
Pizza Avenue 45 zip_code 45623 wichita st
Tacos Las Americas avenue 7 zip_code 67890 nicolas st
預期產出
name location
Bar1 202378
Pizza 45623
Tacos 67890
到目前為止,按照一個示例,我能夠提取任何字串的郵政編碼
str = "address1 355 Turnpike Ste 4 address3 zip_code 02021 country US "
str.split("zip_code")[1].split()[0]
>> 02021
但我不知道如何對我的列位置的每一行做同樣的事情
uj5u.com熱心網友回復:
最好的方法是使用extract()which 接受正則運算式并允許搜索每一行。
import pandas as pd
import numpy as np
df = pd.DataFrame({'name':['Bar1', 'Pizza', 'Tacos'],
'location':['LA Jefferson zip_code 202378 Avenue free', 'Avenue 45 zip_code 45623 wichita st', 'Las Americas avenue 7 zip_code 67890 nicolas st']})
df['location'] = df['location'].str.extract('zip_code\s(.*?)\s')
>>> df
name location
0 Bar1 202378
1 Pizza 45623
2 Tacos 67890
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/525432.html
