首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用pandas dataframe中的城市名称向folium地图添加多个标记

可以通过以下步骤实现:

  1. 导入必要的库:
代码语言:txt
复制
import folium
from geopy.geocoders import Nominatim
  1. 创建一个空的folium地图对象:
代码语言:txt
复制
map = folium.Map()
  1. 定义一个函数,用于获取城市的经纬度坐标:
代码语言:txt
复制
def get_coordinates(city):
    geolocator = Nominatim(user_agent="my_app")
    location = geolocator.geocode(city)
    return location.latitude, location.longitude
  1. 创建一个pandas dataframe,包含城市名称和对应的经纬度坐标:
代码语言:txt
复制
import pandas as pd

data = {'City': ['北京', '上海', '广州'],
        'Latitude': [0, 0, 0],
        'Longitude': [0, 0, 0]}

df = pd.DataFrame(data)
  1. 使用上述函数获取每个城市的经纬度坐标,并更新到dataframe中:
代码语言:txt
复制
for index, row in df.iterrows():
    city = row['City']
    latitude, longitude = get_coordinates(city)
    df.at[index, 'Latitude'] = latitude
    df.at[index, 'Longitude'] = longitude
  1. 遍历dataframe中的每个城市,将其标记添加到folium地图中:
代码语言:txt
复制
for index, row in df.iterrows():
    city = row['City']
    latitude = row['Latitude']
    longitude = row['Longitude']
    folium.Marker([latitude, longitude], popup=city).add_to(map)
  1. 显示folium地图:
代码语言:txt
复制
map

这样,你就可以使用pandas dataframe中的城市名称向folium地图添加多个标记了。请注意,上述代码中的城市名称仅作示例,你可以根据实际需求修改。另外,为了获取城市的经纬度坐标,我们使用了geopy库中的Nominatim类,你可以根据自己的需求选择其他的地理编码服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

18分41秒

041.go的结构体的json序列化

5分33秒

JSP 在线学习系统myeclipse开发mysql数据库web结构java编程

领券