使用字典将列添加到 Pandas Dataframe

我有两本字典:


 

Latitud = {'Cundinamarca': 4.6 , 'Norte de Santander': 7.9, 'Antioquia': 6.2} 


Longitud = {'Cundinamarca': -74.1 , 'Norte de Santander': -72.5, 'Antioquia': -75.5}

并且我尝试在 Dataframe 中创建 2 个新列,同时考虑到“Departamento”列,使用以下代码:


df['Latitud'] = df['Departamento'].map(Latitud) 


df['Longitud'] = df['Departamento'].map(Longitud)

但我有这个:


Departamento , Municipio , Latitud , Longitud


Cundinamarca , Bogota    , Nan     , Nan


Cundinamarca , Bogota    , Nan     , Nan


Norte de Santander , Cúcuta    , Nan     , Nan


Antioquia    , Medellín    , Nan     , Nan

如何解决?


慕姐8265434
浏览 157回答 1
1回答

ITMISS

可能是不区分大小写的问题,我们可以试试小写的map:df['Latitud'] = df['Departamento'].str.lower().map({k.lower() : v                                                     for k,  v in Latitud.items()})和同样的Longitud可能需要替换空白:df['Latitud'] = (df['Departamento'].str.lower()                                   .str.replace(' ', '').map({k.lower() : v                                                                                                                   for k,  v in Latitud.items()})                 )
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python