今天给大家分享一个超强的 python 库,folium
https://github.com/python-visualization/folium
folium 是一个功能强大的 Python 库,可以轻松可视化地理空间数据。
它利用了 Leaflet.js 的强大功能,Leaflet.js 是流行且领先的 JavaScript 库,可用于创建可跨桌面和移动平台使用的交互式地图。
它旨在处理 GeoJSON 和 TopoJSON 数据,这些数据可以从各种来源加载,例如 CSV 文件、SQL 数据库和 Web 服务。
Folium 允许你创建各种地图,包括散点图、分区统计图和热图等。
初体验
库的安装
你可以使用 pip 来进行安装。
pip install folium
获取数据
我们将使用美国地质调查局 (USGS) 的数据来可视化最近世界各地的地震活动。
你可以从他们的网站下载数据:
https://earthquake.usgs.gov/earthquakes/feed/v1.0/csv.php
我们将使用 “过去 7 天” 数据集,其中包含过去 7 天内发生的所有地震的信息。
import pandas as pddf = pd.read_csv('earthquakes.csv')
清理数据
美国地质勘探局的数据包含所有地震的信息,包括许多不严重的地震。
我们只对 4.5 级或以上的地震感兴趣。
我们可以使用 Pandas 过滤数据。
significant_eqs = df[df['mag'] >= 4.5]
可视化数据
现在我们已经过滤了地震数据,然后可以使用 Folium 在地图上将其可视化。
import folium# Create a map centered on Kolkata, Indiam = folium.Map(location=[22.5726, 88.3639], zoom_start=2)# Add a marker for each earthquakefor index, row in significant_eqs.iterrows(): folium.CircleMarker( location=[row['latitude'], row['longitude']], radius=row['mag'], color='red', fill=True, fill_color='red' ).add_to(m)# Display the mapm
在此示例中,我们使用 Folium 的 CircleMarker 函数为每次地震创建一个标记。
我们将标记的半径设置为与地震震级成正比,并将颜色设置为红色。
保存地图
我们还可以使用以下代码将 folium 地图保存为 HTML 文件格式。
m.save('earthquakes.html')
就是这样!只需几行 Python 代码,我们就能够使用 Folium 在交互式地图上可视化地震数据。
Folium 是一个用于可视化地理空间数据的强大工具,可用于多种应用。
来自————程序员小寒