使用Pandas& amp;绘制地图上的标记。大青叶

时间:2016-10-30 23:54:31

标签: python pandas data-visualization folium

我正在尝试使用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

2 个答案:

答案 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