我将这个表从Excel导入到Jupyter。我用Pandas做这个。但现在我想用科隆A1,A2,A3的数据在我的Map上用下表中的城市标记标记,我不知道如何做到这一点。例如:我按下一个明确的标记,然后弹出显示来自科隆A1,A2,A3的数据。图1:
图二:
你能告诉我这个操作的对应代码吗?
nbnkbykc1#
要在每个位置以表格形式显示弹出窗口,需要对数据框的每一行执行循环过程,将一行从系列转换为数据框,然后将其转置。我还调整了数据框的宽度。
import pandas as pd import io import folium data = ''' Name A1 A2 A3 LAT LON "Malibu Beach" 0.63 0.55 0.95 34.03194 -118.698387 Commerce 0.17 0.45 0.25 34.00031 -118.159770 "Long Beach" 0.19 0.21 0.09 33.77171 -118.181310 ''' df = pd.read_csv(io.StringIO(data), delim_whitespace=True) import folium m = folium.Map([df.LAT.mean(), df.LON.mean()], zoom_start=8) for i in range(len(df)): html = df.loc[i,['Name','A1','A2','A3']].to_frame().T.to_html( classes="table table-striped table-hover table-condensed table-responsive" ) popup = folium.Popup(html, max_width=500) folium.Marker([df.iloc[i]['LAT'], df.iloc[i]['LON']], popup=popup).add_to(m) m
1条答案
按热度按时间nbnkbykc1#
要在每个位置以表格形式显示弹出窗口,需要对数据框的每一行执行循环过程,将一行从系列转换为数据框,然后将其转置。我还调整了数据框的宽度。