对于纬度和经度的 pandas 个数据帧循环

For loops through pandas dataframes for latitude and longitude

所以我有一个包含两列城市和县的数据框,其中有一些来自美国马里兰州的城市。我正在尝试使用以下代码循环获取每个城市的纬度和经度坐标:

from geopy.geocoders import Nominatim
latitude=[]
longitude=[]
for city in df["City"]:

    address = city + ', MD'

    geolocator = Nominatim(user_agent="tor_explorer")
    location = geolocator.geocode(address)
    latitude = location.latitude
    longitude = location.longitude
df['latitude']=latitude
df['longitude']=longitude

但是当我打印纬度或经度时,列表中只有一个值,所以当我将它放入数据框中时,它只是为每个城市重复相同的纬度和经度。

您正在分配 for 循环采用的最后一个值,因此请尝试附加 for 循环的每个值:

latitude=[]
longitude=[]
for city in df["City"]:

    address = city + ', MD'

    geolocator = Nominatim(user_agent="tor_explorer")
    location = geolocator.geocode(address)
    latitude.append(location.latitude)
    longitude.append(location.longitude)
df['latitude']=latitude
df['longitude']=longitude