将CSV和SQL数据加载到Pandas中

目录

介绍

从CSV加载数据

从SQLite加载数据

基本数据分析

总结


任何数据分析过程的第一步都是摄取数据集,评估数据集的清洁程度,并决定我们需要采取哪些措施来解决继承的问题。

介绍

本文是使用PythonPandas进行数据清洗系列的一部分。它旨在利用数据科学工具和技术来使开发人员快速启动并运行。

如果您想查看本系列的其他文章,可以在这里找到它们:

设置完Jupyter Notebook并初始化了一些基本库之后,我们需要加载一些数据。为此,我们将从CSV文件以及本地SQLite数据库加载数据。然后,我们将展示Pandas中可用的一些基本分析和功能,您可以使用它们来显示和执行数据的基本分析。

我们已经创建了完整的Jupyter Notebook,其中包含该系列模块的源数据文件,您可以在本地下载和安装。

在开始之前,请确保将本系列附带的customer.csv文件和remoteDB.db复制到与保存的Notebook相同的目录中。

CSV加载数据

首先让我们看一下如何将数据从CSV文件加载到Pandas中。我们将加载与笔记本计算机相同目录中的customers.csv文件,以简化操作,但您也可以远程加载它。将一个新的输入行添加到您的笔记本,其中包含以下命令:

pd.read_csv("customers.csv")

此命令使用Pandas库加载并显示我们的customer.csv文件。

根据显示的行,您将立即看到数据的一些潜在问题,显示为NaN。您还将看到生成的输出为表格。

Pandas中,表称为DataFrame,它是类似于电子表格的二维数据结构。

让我们将其移动到变量中,并通过将代码行修改为以下内容来显示前五行:

# Read data from the CSV files
customers = pd.read_csv("customers.csv")
print(customers.head(5))

(请注意,在这里和整篇文章中,您将在代码之后立即看到运行代码的结果。)

这会将我们的CSV读入一个变量,并显示数据结构的前五行。

SQLite加载数据

现在,让我们从SQLite数据库将一些其他数据加载到Pandas中。我们将使用sqlite3库加载和读取数据库。您可以对常规数据库以及不同的Python库使用类似的过程,但是SQLite是无服务器的,仅需要我们先前复制的单个数据库文件。让我们以数据库的形式访问此文件。

首先,我们将修改我们的第一个代码块以包含另一个Python库:

import sqlite3 as sql

然后,在我们从CSV文件读取客户的位置下方,添加以下代码:

con = sql.connect("remoteDB.db")
products = pd.read_sql_query("SELECT * from products", con)
purchases = pd.read_sql_query("SELECT * from purchases", con)
con.close()

print(products.head(5))
print(purchases.head(5))

如果我们逐步执行此代码,则第一行将连接到数据库文件remoteDB.db。接下来的两行使用Pandas从每个SQL查询的返回中创建一个DataFrame。在此示例中,有两个表,产品购买。最后,此块中的最后一行关闭与SQL数据库的连接。

然后,我们打印每个变量的前五行的副本。这两个数据集的头部看起来非常好,因此我们稍后必须查看它们是否还有其他问题。

基本数据分析

在继续之前,让我们对数据集进行快速的基础分析。创建一个新的代码块并输入以下代码:

print(customers.shape)
print(customers.dtypes)
print(customers.describe(include="all"))

结果如下:

对于这三个表中的每一个,此代码都会为我们加载的数据生成一些基本统计信息。

  • shape方法显示每个数据帧的行数和列数。
  • dtypes方法显示涉及的数据类型。
  • describe方法(带有include="all"修饰符)显示有关数据的统计信息,例如有效值的计数,唯一值的数量,值的频率等。

请注意,有些计数与总数不符。这是因为缺少单元格中的信息,我们需要查找并更正这些信息。我们的数据集包含了几个月的购买过程中的客户和产品信息以及购买信息,因此,这为我们定义了许多不同的信息。

总结

我们使用Pandas DataFrame数据结构从CSV文件和SQL服务器加载了数据。我们还快速浏览了一些基本分析功能,这些功能显示了有关数据集的便捷信息。

现在,让我们通过探索一些发现和处理缺失值的选项来进行数据清理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值