Привет всем, я пытаюсь сопоставить частичную строку в столбцах во фрейме данных и вернуть строку сопоставления (дело с заглавными буквами). У меня нет сильных знаний в области программирования, и я просто начинаю учиться.
#list of State
state_abbrv = ["AL","AK","AZ","AR","CA","CO","CT","DE","FL","GA","HI","ID","IL","IN","IA","KS","KY","LA",
"ME","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK",
"OR","PA","RI","SC","SD","TN","TX","UT","VT","VA","WA","WV","WI","WY"]
#Create dataframe
d = {"Index": [1, 2, 3, 4, 5 , 6, 7], "Description": ["ABNY", "MANY", "NYNY","DO", "nyNY", ""CWARD NY", "HOWARD BEACH NY"]}
df = pd.DataFrame(data=d)
Вот df:
Index Description
1 ABNY
2 MANY
3 NYNY
4 DO
5 nyNY
6 CWARD NY
7 HOWARD BEACH NY
Вот мой код:
df = df.assign(State = df["Description"].str.findall(state_abbrv))
И вот ожидаемый результат:
Index Description State
1 ABNY NY
2 MANY MA,NY
3 NYNY NY,NY
4 DO
5 nyNY NY
6 CWARD NY WA,NY
7 HOWARD BEACH NY WA,AR,NY
Спасибо