0

I want to get the location name that is inside datos using the official list of cities that I have in a df.

barha = pd.read_csv('https://wms.ign.gob.ar/geoserver/bahra/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=bahra%3Alocalidad_bahra&outputFormat=csv')

datos = pd.DataFrame([['1','La Plata Buenos Aires'],['2','Lanús'],['3','lanus'],['4','Agua de Buenos Aires'],['5','mar del Plata'],['6','Gas SAN ISIDRO']],
columns = ['id', 'desc'])

I tried to do this

datos['localidad'] = datos['desc'].apply(lambda x: next(iter([i for i in barha['nombre_geografico'] if i in x]), None))

The expected result would be:

id desc localidad
1 La Plata Buenos Aires La Plata
2 Lanús Lanús
3 lanus Lanús
4 Agua de Buenos Aires none
5 mar del Plata Mar del Plata
6 SAN ISIDRO San Isidro

But the result I get is:

id desc localidad
1 La Plata Buenos Aires Pla
2 Lanús Lanús
3 lanus none
4 Agua de Buenos Aires none
5 mar del Plata Pla
6 SAN ISIDRO none

I know that it took the exact word, but how can I solve this problem?

desertnaut
  • 57,590
  • 26
  • 140
  • 166

0 Answers0