Python中的叶特征组
我正在尝试使用Folium功能组创建地图。要素组将来自数据帧行。当数据帧中有一个数据时,我能够实现这一点。但是当数据帧中有多个1,并且在for循环中循环时,我无法实现我想要的。请查看附件中的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
来自叶导入图、特征组、标记、图层控制
地图=地图(位置=[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中删除?很高兴它有帮助。这是一个很好的问题,但恐怕我不知道上面的内容对我很有帮助。我认为我们应该将上述解决方案标记为可接受的答案。