10

我正在尝试使用 Folium 绘制大量(约 20,000 个)圆形标记。纬度和经度数据包含在 Pandas DataFrame 中(在“LAT”和“LONG”列中)。我提出了以下(低效)代码,它需要逐行遍历数据帧。毫不奇怪,绘制地图需要相当长的时间。有没有更好/更快的方法来实现这一点?

同时,我不必使用 Folium。如果您知道有更合适的工具(尽管我仍然必须将数据保存在 Pandas DataFrame 中),请告诉我。

谢谢!

map_osm = folium.Map(location=[43.094768, -75.348634])
for index, row in df.iterrows():
    folium.CircleMarker(location=[row["LAT"], row["LONG"]]).add_to(map_osm)
map_osm
4

2 回答 2

12

沿列轴使用 apply:

df.apply(lambda row:folium.CircleMarker(location=[row["LAT"], 
                                                  row["LONG"]]).add_to(map_osm),
         axis=1)
于 2016-10-31T01:56:51.560 回答
0

使用此示例,希望对您有所帮助!

#Create the Map
map_osm = folium.Map(
    location = [43.094768, -75.348634],
    zoom_start = 6
)
map_osm
#You Markler the point in Map
for indice, row in df.iterrows():
    folium.Marker(
        location=[row["LAT"], row["LONG"]],
        popup=row['NAME_COLUM'],
        icon=folium.map.Icon(color='yellow')
    ).add_to(map_osm)
map_osm
于 2021-01-17T02:21:05.403 回答