在下面的脚本中,Folium 图返回"类型错误:int64 类型的对象不可 JSON 序列化"。脚本的最后一行似乎有问题,因为当我注释它时,它会运行,但是当我取消注释它时,我收到 TypeError。我需要将文件打印为 html 或 jpg。
import pandas as pd
import folium
from folium.plugins import HeatMap
from folium.plugins import MarkerCluster
for_map = pd.read_csv('datasets/sum_loads.csv')
max_amount = float(for_map['total_offs_sum'].max())
hmap = folium.Map(location=[51.5, -0.1], zoom_start=7)
hm_wide = HeatMap( list(zip(for_map.latitude.values, for_map.longitude.values, for_map.total_offs_sum.values)),
min_opacity=0.2,
max_val=max_amount,
radius=17, blur=12,
max_zoom=1,
)
hmap.add_child(hm_wide)
locations = list(zip(for_map.latitude, for_map.longitude))
cluster = MarkerCluster(locations)
hmap.add_child(cluster)
hm_wide.save('output_plot.html')
根据克里斯蒂安的建议,你的for_map.total_offs_sum.values很可能是整数。只需尝试将其转换为浮动。例如
hm_wide = HeatMap(list(zip(for_map.latitude.values, for_map.longitude.values,for_map.total_offs_sum.values.astype(float))),
min_opacity=0.2,
max_val=max_amount,
radius=17, blur=12,
max_zoom=1,
)