首页 后端开发 Python教程 如何创建数据分析初学者项目

如何创建数据分析初学者项目

Dec 23, 2024 pm 12:49 PM

Como criar um projeto iniciante em análise de dados

您好,今天我们将为数据领域的初学者创建第一个项目,以便能够开始创建一个很酷的作品集并使用所有必要的工具来使用数据!

这个项目表明,即使你是Python的初学者,你总能找到库来执行你还不知道如何从头开始做的更复杂的任务(有些事情甚至不值得从头开始做)任何一个) 。首先,您必须具备 Python 和 SQL 的初步知识,以及对创建仪表板的 Tableau 的一点了解。您不必成为专家,但是了解这些工具的基础知识将帮助您更轻松地跟踪该项目,但是您可以阅读整篇文章并尝试重现它,因为我将尝试在最简单的方法,现在您就可以开始创建您的第一个仪表板了!

我们开始吧?

第一步是在您的机器上配置开发环境,该项目的要求是:

  • Python 3
  • MySQL 9.1(网站最新版本)
  • Tableau 公共

我正在 Windows 11 环境中开发这个项目,因此有些事情可能会根据您的操作系统或 Windows 版本而有所不同,但与我将在这里介绍的内容不会有太大偏差。

让我们从 Python 开始。访问 https://www.python.org/downloads/ 并下载最新版本的安装程序。安装后,重新启动电脑以避免错误(就像我身上发生的那样哈哈)并能够在命令行上毫无问题地使用该语言。

然后,对于 MySQL,请访问网站 https://dev.mysql.com/downloads/mysql/ 并下载 MySQL Community Server 安装程序。只要按照标准安装,一切都会很顺利。

现在,使用 Tableau Public,转到 https://www.tableau.com/pt-br/products/public/download 并创建您的帐户以开始下载。创建帐户对于发布您的第一个仪表板也是必要的,并且对于您的作品集也非常重要!

另一个不是必需的但非常好的工具是 git 和 github 帐户。我将所有带有提交和注释的代码放在这里,使用 github 作为代码组合非常棒,但如果您不了解 git,也没关系,您的项目也会以同样的方式工作。

配置完所有内容后,转到要放置应用程序的目录,然后让我们进行更多配置。您将需要在项目中使用一些 Python 库,我将解释每个库的作用以及如何安装它们。

我们将使用的第一个库是 BeautifulSoup。这个项目所需的数据位于互联网上,我们必须执行一个称为“网页抓取”的过程来收集这些数据,BeautifulSoup 将通过为我们提供促进此收集的工具来帮助我们完成此过程。
要安装它,只需转到终端并输入

pip install beautifulsoup4
登录后复制
登录后复制

然后...就是这样!在Python中安装依赖项非常简单!

我们将使用的第二个库是 requests。如果我们要使用网页,我们需要一些东西来帮助我们使用 API 执行 CRUD 操作,所以这将是我们的选择。再次,只需在终端中使用
安装

pip install requests
登录后复制
登录后复制

我们还将实施良好的实践并使用环境变量(这样就没有人发现我们的密码、用户名和代码中的其他敏感信息),因此我们需要 os 和 dotenv。 os 必​​须已经在 python 中默认安装,而 dotenv 没有,所以这是通常的过程

pip install dotenv
登录后复制
登录后复制

最后但并非最不重要的一点是,我们需要一个库来连接到我们的 MySQL 数据库,所以让我们使用 mysql.connector

pip install mysql-connector-python
登录后复制
登录后复制

配置好开发环境后,就可以进入该过程中最有趣的部分,编程!!

我们将创建一个项目,该项目将分为两个部分(就代码而言):网页抓取和数据库操作,因此我们将从创建网页抓取文件开始,这也是主要代码所在的位置留下来,然后我们将创建一个文件来放置我们的数据库操作函数。这不仅有助于我们维护代码,还有助于其重用。

在应用程序目录中创建一个名为 web_scrapper.py 的文件。
接下来,我们将导入之前安装的依赖项。

from bs4 import BeautifulSoup
import requests
import db_manager
import os
from dotenv import load_dotenv
登录后复制
登录后复制

从 dotenv 中,我们只需要 load_dotenv 函数,因此我们只导入它。

首先,让我们考虑一下代码的结构,并逐步编写我们希望每件事做什么,这样就更有组织性。我们希望我们的代码执行以下操作:

  1. 创建网络抓取工具并将数据保存在变量中
  2. 用我们获取的数据填充数据库
  3. 从数据库中获取数据并将其放入 csv 文件中,以便我们可以在 Tableau Public 中对其进行分析

让我们分部分进行,我们要创建和测试的第一部分是创建网络抓取工具,所以最好的方法就是从这里开始!
我们将使用专门为此类事情制作的网站,https://www.scrapethissite.com/,在那里您会找到几种类型的页面来练习网络抓取。我们对初学者模型特别感兴趣,所以让我们请求该页面:

pip install beautifulsoup4
登录后复制
登录后复制

这里我们使用requests get方法,相当于CRUD的读取,它返回网页并将其完整存储在我们创建的page_countries_area_population变量中。
然后,我们需要BeautifulSoup来解析页面的HTML,以便它可以找到我们需要的信息。为此,我们将创建一个名为 soup 的变量并调用 BeaultifulSoup 并将我们创建的变量的文本传递给它

pip install requests
登录后复制
登录后复制

这将返回页面,并在我们创建的变量中链接到它的 parse 和 BeautifulSoup 方法,从而使我们的工作更轻松。
现在我们需要识别要从页面中删除的信息,为此,我们需要检查网页并识别 html 文档中的元素及其模式。在本例中,我们看到国家/地区名称位于 h3 标签内并具有国家/地区名称类,因此让我们使用它来获取国家/地区名称

pip install dotenv
登录后复制
登录后复制

这里我们调用之前创建的 soup 并调用 findAll 函数,该函数将为我们获取所有国家/地区名称实例。第一个参数是我们正在寻找的 html 元素,第二个参数是它的属性,因为它们可能有我们不希望它选择的其他 h3 标签,在这种情况下,我们传递国家/地区名称类来标识元素我们想要。
我们对每个国家的居民数量和面积重复该过程

pip install mysql-connector-python
登录后复制
登录后复制

在将此数据传递到数据库之前,我们将对其进行清理并保留其格式,以防止不需要的内容随之进入。为此,我将创建一个元组列表来存储数据,然后再将其传递到数据库,因为这将使该过程更容易。然而,在添加它们之前,我们还需要删除国家/地区名称中的空格。

from bs4 import BeautifulSoup
import requests
import db_manager
import os
from dotenv import load_dotenv
登录后复制
登录后复制

这样我们就已经有了我们需要的数据了!我们可以把第一个任务从我们的清单上划掉了!

在本文的第二部分中,我将教您如何使用 Python 操作数据库并完成我们的项目?

以上是如何创建数据分析初学者项目的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何解决Linux终端中查看Python版本时遇到的权限问题? 如何解决Linux终端中查看Python版本时遇到的权限问题? Apr 01, 2025 pm 05:09 PM

Linux终端中查看Python版本时遇到权限问题的解决方法当你在Linux终端中尝试查看Python的版本时,输入python...

如何在使用 Fiddler Everywhere 进行中间人读取时避免被浏览器检测到? 如何在使用 Fiddler Everywhere 进行中间人读取时避免被浏览器检测到? Apr 02, 2025 am 07:15 AM

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

在Python中如何高效地将一个DataFrame的整列复制到另一个结构不同的DataFrame中? 在Python中如何高效地将一个DataFrame的整列复制到另一个结构不同的DataFrame中? Apr 01, 2025 pm 11:15 PM

在使用Python的pandas库时,如何在两个结构不同的DataFrame之间进行整列复制是一个常见的问题。假设我们有两个Dat...

如何在10小时内通过项目和问题驱动的方式教计算机小白编程基础? 如何在10小时内通过项目和问题驱动的方式教计算机小白编程基础? Apr 02, 2025 am 07:18 AM

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

Uvicorn是如何在没有serve_forever()的情况下持续监听HTTP请求的? Uvicorn是如何在没有serve_forever()的情况下持续监听HTTP请求的? Apr 01, 2025 pm 10:51 PM

Uvicorn是如何持续监听HTTP请求的?Uvicorn是一个基于ASGI的轻量级Web服务器,其核心功能之一便是监听HTTP请求并进�...

在Linux终端中使用python --version命令时如何解决权限问题? 在Linux终端中使用python --version命令时如何解决权限问题? Apr 02, 2025 am 06:36 AM

Linux终端中使用python...

如何绕过Investing.com的反爬虫机制获取新闻数据? 如何绕过Investing.com的反爬虫机制获取新闻数据? Apr 02, 2025 am 07:03 AM

攻克Investing.com的反爬虫策略许多人尝试爬取Investing.com(https://cn.investing.com/news/latest-news)的新闻数据时,常常�...

See all articles