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