使用 Folium 在 Python 中实现地图可视化
介绍
数据可视化项目有时会包含地理部分。这些可能包括某个国家、地区或大陆中某些现象的分布、不同感兴趣项目的地理位置或其他类似事物。地理维度很重要,必须成为数据可视化的一部分,才能获得深刻见解。
在 Python 中,有一些工具允许开发人员生成具有额外数据表示和可视化层的地图。实现此功能的资源之一是Folium,这是一个结合了 Python 的数据分析功能和leaflet.js的地图绘制优势的库。
为了熟悉该库,请考虑以下场景:您想要显示非洲国家肯尼亚的一家热门快餐连锁店的商店位置和净收入(以 ($) 为单位)。对于此任务,数据以下面的示例 CSV 形式提供。
本指南假设您至少具有中级Python 知识,并且对地理和地理数据有一般的了解。
示例数据
对于此绘图练习,请考虑将此 CSV 摘录作为样本数据。
store,latitude,longitude,revenue
nairobifoods,-1.302473,36.7451004,600000
kajiadofoods,-1.3999999,36.6293008,120000
nakurufoods,-0.7944065,34.4749338,30000
kisumufoods,-0.1950621,34.596355,40000
示例应用程序
由于可视化依赖于 leaflet.js,因此 Folium 在Google colab或Jupyter Notebooks等笔记本环境中体验最佳。要进行设置,请打开一个新笔记本,并通过在新单元上运行以下命令来运行 Folium 和 pandas 的安装。
pip install folium pandas
在下一个单元格中,导入所需的库并读取数据集。
import folium
import pandas as pd
franchises = pd.read_csv('location/of/sample/csvfile')
#view the dataset
franchises.head()
下一步是设置地图并查看它。在新单元格中,复制以下代码。
center = [-0.023559, 37.9061928]
map_kenya = folium.Map(location=center, zoom_start=8)
#display map
map_kenya
下一步也是最后一步是添加全国各地特许经营店的位置标签和弹出窗口。在新单元格中,复制以下代码。
for index, franchise in franchises.iterrows():
location = [franchise['latitude'], franchise['longitude']]
folium.Marker(location, popup = f'Name:{franchise["store"]}\n Revenue($):{franchise["revenue"]}').add_to(map_kenya)
#display the map
map_kenya
完成后,运行笔记本中的所有单元格以加载 CSV 并查看地图。
由于地图是交互式的,用户可以点击每个标记并查看特许经营名称和产生的收入。
替代方法
上述示例涉及在笔记本环境中运行 Folium。还有一种替代方法,即可以在 IDE 中本地开发项目,并将结果生成为 HTML 文件。要使用此方法运行同一个应用程序,请将下面的代码块复制到文件folium_app.py中。
import folium
import pandas as pd
franchises = pd.read_csv('location/of/sample/csvfile')
#view the dataset
print(franchises.head())
center = [-0.023559, 37.9061928]
map_kenya = folium.Map(location=center, zoom_start=8)
for index, franchise in franchises.iterrows():
location = [franchise['latitude'], franchise['longitude']]
folium.Marker(location, popup = f'Name:{franchise["store"]}\n Revenue($):{franchise["revenue"]}').add_to(map_kenya)
# save map to html file
map_kenya.save('index.html')
运行上述代码,会生成index.html文件,你可以在浏览器中查看,并与地图进行交互。
示例屏幕
下面让我们看一下 Folium 的实际应用。
结论
您现在知道如何使用 Folium 地图以地理维度可视化数据。这项技能对于涉及数据分析的任何业务角色都至关重要,例如数据科学家、商业智能开发人员、数据分析师或 GIS 开发人员。
为了进一步构建和补充对 Python Folium 的了解,请探索其他 Python 映射库,例如Bokeh Maps和Plotly Maps。
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~