我正在尝试使用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
答案 0 :(得分:5)
沿列轴使用apply:
df.apply(lambda row:folium.CircleMarker(location=[row["LAT"],
row["LONG"]]).add_to(map_osm),
axis=1)
答案 1 :(得分: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