我想从数据框中位置的纬度和经度中提取国家/地区名称。
这是我的数据示例:
{'Country/Region': {0: nan, 1: nan, 2: nan, 3: nan, 4: nan},
'Lat': {0: '33.93911',
1: '41.1533',
2: '28.0339',
3: '42.5063',
4: '-11.2027'},
'Long': {0: '67.709953',
1: '20.1683',
2: '1.6596',
3: '1.5218',
4: '17.8739'},
'Province/State': {0: nan, 1: nan, 2: nan, 3: nan, 4: nan}}
注意:这是一个 Pandas 数据框,我只是为了提出这个问题才将其转换为字典。这是我尝试过的:
df[['Lat','Long']].apply(lambda x,y : geocoder.osm([x,y], method='reverse'),axis=1)
从这里我得到了这个错误信息:TypeError: ("<lambda>() missing 1 required positional argument: 'y'", 'occurred at index 0')
最佳答案
x
在您的 lambda 中将是数据框中的一行,这就是您需要做的
df.apply(lambda row : geocoder.osm([row['Lat'], row['Long']], method='reverse'), axis=1)
如果您的数据集很大,请考虑使用 pandarallel
关于python - 从经纬度获取国名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63348403/