从 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
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