pandas 如何在Map上的标记(弹出)中添加此表的数据?

lxkprmvk  于 2023-06-04  发布在  其他
关注(0)|答案(1)|浏览(106)

我将这个表从Excel导入到Jupyter。我用Pandas做这个。但现在我想用科隆A1,A2,A3的数据在我的Map上用下表中的城市标记标记,我不知道如何做到这一点。
例如:我按下一个明确的标记,然后弹出显示来自科隆A1,A2,A3的数据。
图1:

图二:

你能告诉我这个操作的对应代码吗?

nbnkbykc

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

相关问题