从 Pgeocode 对象到数据框的纬度和经度

Latitude and Longitude from Pgeocode object to dataframe

import pandas as pd
import numpy as np
import pgeocode

d = {'Trust': ["Airedale NHS","Alder Hay NHS", "Ashford and st peters"], 'Postcode': ["BD20 6TD","L12 2AP", "KT16 0PZ"]}
df = pd.DataFrame(data=d)
df

nomi=  pgeocode.Nominatim('GB')
nomi.query_postal_code("bD20")

我有一个组织名称和邮政编码的 df,我想添加纬度和经度列。使用 pgeocode 我可以创建一个对象,为给定的邮政编码提供纬度和经度以及其他值。但我不清楚 运行 这个函数如何用于 df 中的所有邮政编码,并且只将纬度和经度 returns 添加到 df。

您可以在行

上使用apply
df[['latitude', 'longitude']] = df.apply(lambda row: nomi.query_postal_code(row['Postcode'])[['latitude', 'longitude']], axis=1, result_type='expand')
                   Trust  Postcode  latitude  longitude
0           Airedale NHS  BD20 6TD   53.9322  -1.978708
1          Alder Hay NHS   L12 2AP   53.4328  -2.909600
2  Ashford and st peters  KT16 0PZ   51.3775  -0.541500