掌握Python第二课:通过构建实际应用程序开始掌握

点击上方关注,All in AI中国

在系列文章的第1部分掌握Python第一课:从构建实际应用程序开始! 通过构建真实世界的应用程序来掌握Python!中,我们使用Python构建了一个Interactive Dictionary(交互式字典)。现在,在第2部分中,我们将使用geospatial(发音:geo-special)数据创建Web地图。在此过程中,我们将学习如何使用folium(folium是js上著名的地理信息可视化库)来创建多用途的Web地图。

掌握Python第二课:通过构建实际应用程序开始掌握

如果你已经读过第一篇文章,那么你很清楚这个练习了。我们将定义分解为几个部分,并逐步执行操作,遍历代码的每一行。让我们构建另一个很酷的应用程序。

第0步 - 首先要做的事情

我们将使用Python和Folium构建我们的Web地图。你们都知道Python,所以让我向你简要介绍一下Folium。它是一个数据可视化库,用于可视化涉及坐标和位置的地理空间数据或数据。您可以在其官方项目页面上找到有关folium的更多信息。此外,如果您是第一次使用并且不知道如何安装外部库,我建议您使用'pip',这是一个包/库管理系统,我们大多数人都使用它。

要安装pip,请在终端中运行以下命令。

掌握Python第二课:通过构建实际应用程序开始掌握

您刚刚安装了pip,现在可以准备好安装第一个外部库了。要安装folium库,请在终端中执行以下命令。

掌握Python第二课:通过构建实际应用程序开始掌握

所有依赖项(运行程序所需的必要工具的花哨术语,duh)都已安装,现在可以开始运行了。

第1步 - 创建基本地图

无论是学习编程语言还是学习如何驾驶。首先是基础知识,然后再一点一点地添加。

让我们创建一个基本地图。首先,导入库。现在,使用folium.Map创建地图,它将获取您希望地图开始的位置。您可以添加其他参数,例如预定义的缩放以及地图的外观,稍后我们将会对比进行更多的介绍。现在您已经创建了基本地图,我相信这是创建地图最简单的方法。保存地图,根据需要命名并运行代码,您将获得第一张带有folium的地图。

第1步 - 创建基本地图

掌握Python第二课:通过构建实际应用程序开始掌握

这是我的第一个,当然是加利福尼亚州。

第2步 - 添加标记

标记是地图上的一个点,是整个地图术语中最重要的特征。让我们使用folium.Marker为我们的地图添加一个标记,它还会获取您想要指向的位置以及一些其他参数,例如将显示弹出窗口以及图标的外观。现在重要的是,你看到.add_to(地图)了么?我们正在将创建的标记添加到我们之前创建的地图中。如果没有这个,标记将被创建,但不会添加到我们的地图中。因此,您将看到我们之前创建的相同空白基本地图。

第2步 - 添加标记

注意到代码中有什么不同的东西了么?我们在基本地图中添加了一个参数。

掌握Python第二课:通过构建实际应用程序开始掌握

看到这,我想你已经弄明白了。

‘tiles’是一个参数,用于更改地图的背景或更改地图中显示的数据,即街道、山脉、空白地图等。就是这样,您的地图已经准备好了标记和最小的设计。因为少即是多。

第3步 - 添加多个标记

添加多个标记很容易。您所要做的就是运行一个包含您想要显示的所有坐标的for循环。如前所述,基础知识很重要,让我们从两个开始。

第3步 - 多个标记

掌握Python第二课:通过构建实际应用程序开始掌握

谷歌总部金门大桥

第4步 - 从数据添加标记

你在那里创建了一张非常整洁的地图。但是如果你有500个标记怎么办?你打算把它们都写下来么?当然不是,您必须加载数据并提取相关数据以绘制标记。在这里,我们添加了美国火山的数据。你可以在这里找到数据。

首先,我们在Pandas的帮助下加载数据,Pandas是一种常用的数据操作库。请参阅此页面以了解大熊猫的基本知识。数据文件包括诸如火山名称、高度、纬度和经度等列。我们需要经度和经度绘制标记并显示弹出窗口,需要海拔。因此,我们将提取它并将其存储到变量中。运行一个for循环,它就是,所有标记都只有2行代码。

第4步 - 从数据中添加标记

第5步 - 颜色

你已经添加了所有的标记,但它们都是相同的颜色,这并不能说明什么。因此,让我们按海拔进行分组,<1000,1000到3000之间,> 3000,并将颜色分别设置为绿色、橙色和红色。

您必须使用简单的if-else循环创建一个函数,并调用它来代替定义颜色。

第5步 - 颜色

掌握Python第二课:通过构建实际应用程序开始掌握

美国的火山变得丰富多彩

第6步 - 更改图标

让我们承认当前的图标看起来不错,但并不是最好的。它很大,感觉我们正在创建90年代的地图。所以让我们来改变一下。

第6步 - 更改图标

掌握Python第二课:通过构建实际应用程序开始掌握

现在它看起来不错。我们怎么做才能让它变得更棒?我有一个——黑暗模式。请使用tiles =“CartoDB dark_matter”

掌握Python第二课:通过构建实际应用程序开始掌握

第7步 - 集群所有标记

它看起来不错,但如果每个状态有300个标记怎么办呢?它看起来就会很乱。为此,我们必须聚集所有标记,当我们放大地图时,集群展开。

为了做到这一点,首先,我们必须使用MarkerCluster方法创建一个集群,您可以在库folium.plugins下找到它,而不是通过.add_to(map)将所有标记添加到我们的地图中,我们将通过.add_to(集群名称)将它们添加到集群,在我们的例子中是.add_to(marker_cluster)。如下所示,当您放大和缩小地图时,所有群集将自动展开并折叠,看起来就像这样。

掌握Python第二课:通过构建实际应用程序开始掌握

第8步 - 前进一步

亚里士多德表示,“我们反复做的事情,造就了我们”。“因此,卓越不是一种行为,而是一种习惯。”即使你被困在本教程的某个地方,也不要放弃。再试一次,寻求帮助,必要时从头开始。只是不要停下来。毕竟,坚韧是成功的关键。

掌握Python第二课:通过构建实际应用程序开始掌握

美国失业率(2012年数据)

想实施?你自己尝试一下?如果你被困在某个地方,你可以在我的GitHub存储库中找到整个代码。(https://github.com/Dhrumilcse/Volcanoes-in-the-United-States)

虽然您在上一篇文章中了解了Python编程的一些重要方面,但在本文中,您已经了解了什么是pip以及如何使用它,什么是folium,什么是地理空间数据,如何使用folium可视化地理空间数据等等。数据可视化还有很多,而这只是其中的一小部分。

掌握Python第二课:通过构建实际应用程序开始掌握

文章来源:https://towardsdatascience.com/master-python-through-building-real-world-applications-part-2-60d707955aa3

相关推荐