Python中的叶特征组

Python中的叶特征组,python,pandas,folium,Python,Pandas,Folium,我正在尝试使用Folium功能组创建地图。要素组将来自数据帧行。当数据帧中有一个数据时,我能够实现这一点。但是当数据帧中有多个1,并且在for循环中循环时,我无法实现我想要的。请查看附件中的Python代码 来自叶导入图、特征组、标记、图层控制 地图=地图(位置=[35.11567262307692,-89.97423444615382],缩放开始=12, (雄蕊地形) feature_group1=FeatureGroup(name='Tim') feature_group2=FeatureG

我正在尝试使用Folium功能组创建地图。要素组将来自数据帧行。当数据帧中有一个数据时,我能够实现这一点。但是当数据帧中有多个1,并且在for循环中循环时,我无法实现我想要的。请查看附件中的Python代码

来自叶导入图、特征组、标记、图层控制
地图=地图(位置=[35.11567262307692,-89.97423444615382],缩放开始=12,
(雄蕊地形)
feature_group1=FeatureGroup(name='Tim')
feature_group2=FeatureGroup(name='Andrew')
功能组1.添加子项(标记([35.035075,-89.89969],popup='Tim'))
功能\u组2.添加\u子项(标记([35.821835,-90.70503],popup='Andrew'))
mapa.add_child(feature_group1)
mapa.add_child(feature_group2)
mapa.add_子对象(LayerControl())
马帕
My dataframe包含以下内容:

Name                             Address  
0                      Dollar Tree #2020                    3878 Goodman Rd.   
1                      Dollar Tree #2020                    3878 Goodman Rd.   
2            National Guard Products Inc                    4985 E Raines Rd   
3   434 SAVE A LOT C MID WEST 434 Kelvin                    3240 Jackson Ave   
4                        WALGREENS 06765                   108 E HIGHLAND DR   
5                               Aldi #69                  4720 SUMMER AVENUE   
6                  Richmond, Christopher              1203 Chamberlain Drive   


         City State Zipcode           Group  
0   Horn Lake    MS   38637  Johnathan Shaw   
1   Horn Lake    MS   38637    Tony Bonetti   
2     Memphis    TN   38118    Tony Bonetti   
3     Memphis    TN   38122    Tony Bonetti   
4   JONESBORO    AR   72401   Josh Jennings   
5     Memphis    TN   38122   Josh Jennings   
6     Memphis    TN   38119   Josh Jennings   


                                         full_address      Color  sequence  \
0             3878 Goodman Rd.,Horn Lake,MS,38637,USA       blue         1   
1             3878 Goodman Rd.,Horn Lake,MS,38637,USA  cadetblue         1   
2               4985 E Raines Rd,Memphis,TN,38118,USA  cadetblue         2   
3               3240 Jackson Ave,Memphis,TN,38122,USA  cadetblue         3   
4            108 E HIGHLAND DR,JONESBORO,AR,72401,USA     yellow         1   
5             4720 SUMMER AVENUE,Memphis,TN,38122,USA     yellow         2   
6         1203 Chamberlain Drive,Memphis,TN,38119,USA     yellow         3   


     Latitude  Longitude  
0   34.962637 -90.069019  
1   34.962637 -90.069019  
2   35.035367 -89.898428  
3   35.165115 -89.952624  
4   35.821835 -90.705030  
5   35.148707 -89.903760  
6   35.098829 -89.866838  
同样,当我尝试在for循环中循环时,我无法实现我需要的:

来自叶导入图、特征组、标记、图层控制
mapa=Map(位置=[35.11567262307692,-89.97423444615382],zoom_start=12,tiles='Stamen Terrain')
#mapa.add_tile_layer()
对于范围(0,len(df_地址))中的i:
feature\u group=FeatureGroup(name=df\u addresses.iloc[i]['group'])
功能组。添加子项(标记([df_addresses.iloc[i]['Latitude'],df_addresses.iloc[i]['Longitude']),
popup=('Address:'+str(df_addresses.iloc[i]['full_Address'])+'
' 'Tech:'+str(df_addresses.iloc[i]['Group']), icon=plugins.BeautifyIcon( number=str(df_addresses.iloc[i]['sequence']), 边框宽度=2, iconShape=‘标记’, 内部图标样式='页边距顶部:2px', background\u color=df\u addresses.iloc[i]['color'], ))) mapa.add_子项(要素组) mapa.add_子对象(LayerControl())
这是一个示例数据集,因为我不想格式化您的df。也就是说,我想你会明白的

print(df_addresses)
    Latitude  Longitude Group
0  34.962637 -90.069019     B
1  34.962637 -90.069019     B
2  35.035367 -89.898428     A
3  35.165115 -89.952624     B
4  35.821835 -90.705030     A
5  35.148707 -89.903760     A
6  35.098829 -89.866838     A
创建地图对象(maps)后,我在group列上执行groupby。然后我遍历每个组。我首先用grp_名称(a或B)创建一个FeatureGroup。对于每个组,我遍历该组的数据帧,创建标记并将它们添加到FeatureGroup

mapa = folium.Map(location=[35.11567262307692,-89.97423444615382], zoom_start=12,
           tiles='Stamen Terrain')

for grp_name, df_grp in df_addresses.groupby('Group'):
    feature_group = folium.FeatureGroup(grp_name)
    for row in df_grp.itertuples():
        folium.Marker(location=[row.Latitude, row.Longitude]).add_to(feature_group)
    feature_group.add_to(mapa)

folium.LayerControl().add_to(mapa)
mapa

这是一个示例数据集,因为我不想格式化您的df。也就是说,我想你会明白的

print(df_addresses)
    Latitude  Longitude Group
0  34.962637 -90.069019     B
1  34.962637 -90.069019     B
2  35.035367 -89.898428     A
3  35.165115 -89.952624     B
4  35.821835 -90.705030     A
5  35.148707 -89.903760     A
6  35.098829 -89.866838     A
创建地图对象(maps)后,我在group列上执行groupby。然后我遍历每个组。我首先用grp_名称(a或B)创建一个FeatureGroup。对于每个组,我遍历该组的数据帧,创建标记并将它们添加到FeatureGroup

mapa = folium.Map(location=[35.11567262307692,-89.97423444615382], zoom_start=12,
           tiles='Stamen Terrain')

for grp_name, df_grp in df_addresses.groupby('Group'):
    feature_group = folium.FeatureGroup(grp_name)
    for row in df_grp.itertuples():
        folium.Marker(location=[row.Latitude, row.Longitude]).add_to(feature_group)
    feature_group.add_to(mapa)

folium.LayerControl().add_to(mapa)
mapa

关于StaminerRain查询,如果您指的是控制框中的外观,您可以通过使用
tiles=None
声明地图,并在控件设置为false的情况下单独添加TileLayer:
folium.TileLayer('stamine Terrain',control=false)。添加到(mapa)

关于StaminerRain查询,如果您指的是控制框中的外观,您可以通过使用
tiles=None
声明地图,并单独添加Tillelayer,将控件设置为false:
folium.tillelayer('stamine Terrain',control=false)。添加到(mapa)

仅添加即可。有没有办法将StaminerRain从featuregroup中删除?很高兴它有帮助。这是一个很好的问题,但恐怕我不知道上面的内容对我很有帮助。我认为我们应该将上述解决方案标记为一个可接受的答案。有没有办法将StaminerRain从featuregroup中删除?很高兴它有帮助。这是一个很好的问题,但恐怕我不知道上面的内容对我很有帮助。我认为我们应该将上述解决方案标记为可接受的答案。