python - 从经纬度获取国名

标签 python pandas

我想从数据框中位置的纬度和经度中提取国家/地区名称。
这是我的数据示例:

{'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/

相关文章:

python - 根据条件提取pandas列名

python-2.7 - pandas.read_hdf 出错

python - UWSGI 无法在 Debian 9 (pip) 上安装

python列表索引必须是整数而不是字符串

python - Pandas 数据框到 flask 模板作为 json

python - 比较来自多个数据帧的数据帧以过滤数据并提取相关特征

python - 如何使用 repoze.who(和 bottle.py)处理注销?

python - 为什么我的 Pygame Sprite 像碰撞盒一样旋转?

Python - HTTP 多部分/表单数据 POST 请求

python - 合并 pandas 数据框,交替行而不对行进行排序