在数据分析中,经常需要从数据库中读取数据,Pandas
提供了强大的工具来轻松地完成这个任务。本节将介绍如何使用 Pandas
从 SQL
数据库中读取数据,包括一些常用的案例和代码示例。
连接到数据库
在使用 Pandas
读取 SQL
数据之前,我们需要连接到我们的数据库。通常使用 SQLAlchemy
作为数据库的连接工具。首先,确保安装了 SQLAlchemy
和对应数据库的驱动程序,例如 sqlite
, mysql-connector
或 psycopg2
(针对 PostgreSQL)。
1 | pip install pandas sqlalchemy sqlite3 |
示例:从 SQLite 数据库读取数据
假设我们有一个名为 example.db
的 SQLite 数据库,里面有一个名为 customers
的表。我们希望从这个表中读取数据。
1. 创建数据库连接
我们首先通过 create_engine
方法建立与数据库的连接。
1 | import pandas as pd |
2. 执行查询并读取数据
接下来,我们可以使用 pd.read_sql_query()
方法来执行 SQL
查询并将结果存入 DataFrame
。
1 | # SQL 查询语句 |
在这个示例中,我们将 customers
表中的所有数据读取到了 DataFrame
df
中,并用 print(df.head())
查看了前五行的数据。
示例:从 MySQL 数据库读取数据
现在,我们假设希望从 MySQL 数据库读取数据。首先,确保你已经安装了 mysql-connector-python
,并在连接字符串中使用正确的 用户名
、密码
和 数据库名
。
1 | pip install mysql-connector-python |
1. 创建数据库连接
1 | from sqlalchemy import create_engine |
2. 执行查询并读取数据
1 | # SQL 查询语句 |
使用相似的方法,我们能够从 orders
表中获取所有数据,并将其存储在 DataFrame
df_orders
中。
处理查询结果
读取数据后,通常我们会对数据进行进一步的处理,比如筛选、分组或可视化等。以下是一些常见的数据处理操作示例。
1. 筛选数据
1 | # 筛选出金额大于 100 的订单 |
2. 数据分组
1 | # 按客户ID分组并计算总金额 |
结论
使用 Pandas
从 SQL
数据库中读取数据十分简单。我们只需连接数据库,执行查询,并将结果存入 DataFrame
。随后,可以利用 Pandas
提供的各种强大功能进行数据分析和处理。通过以上示例,你可以轻松开始自己的数据分析工作。