可以通过以下步骤实现:
import folium
from geopy.geocoders import Nominatim
map = folium.Map()
def get_coordinates(city):
geolocator = Nominatim(user_agent="my_app")
location = geolocator.geocode(city)
return location.latitude, location.longitude
import pandas as pd
data = {'City': ['北京', '上海', '广州'],
'Latitude': [0, 0, 0],
'Longitude': [0, 0, 0]}
df = pd.DataFrame(data)
for index, row in df.iterrows():
city = row['City']
latitude, longitude = get_coordinates(city)
df.at[index, 'Latitude'] = latitude
df.at[index, 'Longitude'] = longitude
for index, row in df.iterrows():
city = row['City']
latitude = row['Latitude']
longitude = row['Longitude']
folium.Marker([latitude, longitude], popup=city).add_to(map)
map
这样,你就可以使用pandas dataframe中的城市名称向folium地图添加多个标记了。请注意,上述代码中的城市名称仅作示例,你可以根据实际需求修改。另外,为了获取城市的经纬度坐标,我们使用了geopy库中的Nominatim类,你可以根据自己的需求选择其他的地理编码服务。
领取专属 10元无门槛券
手把手带您无忧上云