DuckDB:使用DuckDB进行Python数据分析指南

Duck
你是一名熟悉SQL和Python的开发者吗?如果是这样,你可能想开始使用DuckDB——一个进程内OLAP数据库——来进行数据分析。

SQL是查询数据库的语言,是你数据工具箱中最重要的语言。所以当你切换到Python时,你可能会考虑使用pandas——从各种来源读取数据到数据框中并进行分析。

但是,如果能够使用SQL查询pandas数据框以及CSV和Parquet文件等数据源,岂不是更好?DuckDB让你可以做到这一点,还能做更多。在本教程中,我们将学习如何在Python中使用DuckDB来分析数据。让我们开始吧!

设置环境

首先,创建并激活一个虚拟环境:

$ python3 -m venv v1
$ source v1/bin/activate

接下来安装duckdb:

因为我们还将生成示例数据来使用,所以我们还需要NumPy和Pandas:

$ pip3 install numpy pandas

使用DuckDB查询数据

快速安装完成后,我们可以继续进行一些数据分析。

注意:与数据库交互时通常使用连接。你可以使用duckdb.connect()与内存数据库和持久存储一起工作。

• 使用duckdb.connect()连接到仅在会话期间存在的内存数据库。这适用于快速分析,特别是当你不需要长期存储结果时。

• 要在会话和查询之间持久化数据,请像这样传递文件路径给connect()函数:duckdb.connect('my_database.db')

但我们将会查询CSV文件,不需要连接对象。所以这只是一个提示,当你查询数据库时可以参考。

生成示例CSV文件

▶️你可以在这个GitHub仓库中找到本教程的代码。

我们将创建一个模拟销售数据集,包含几个csv文件,包括产品详细信息、价格、销售数量以及销售发生的地区。在你的项目文件夹中运行generate_csv.py来生成两个CSV文件:sales_data.csv和product_details.csv。

在DuckDB中使用CSV文件时,你可以将文件读入一个关系表:duckdb.read_csv(‘your_file.csv’),然后查询它。或者你可以直接与文件一起工作并像这样查询它们:

import duckdb

duckdb.sql("SELECT * FROM 'sales_data.csv' LIMIT 5").df(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值