None

开始使用五个免费的 Python 库,这些库可让您比传统 Pandas 更快地分析、过滤和处理数据。

来源:KDnuggets

简介

开发人员使用 pandas 进行数据操作,但速度可能很慢,尤其是对于大型数据集。正因为如此,许多人正在寻找更快、更轻的替代品。这些选项保留了分析所需的核心功能,同时注重速度、较低的内存使用量和简单性。在本文中,我们将介绍您可以尝试的五种熊猫的轻量级替代方案。

1.DuckDB

DuckDB 就像用于分析的 SQLite。您可以直接对逗号分隔值 (CSV) 文件运行 SQL 查询。如果您了解 SQL 或使用机器学习管道,这会很有用。安装它:

我们将使用泰坦尼克号数据集并对其运行简单的 SQL 查询,如下所示:

导入鸭数据库

url =“https://raw.githubusercontent.com/mwaskom/seaborn-data/master/titanic.csv”

# 对 CSV 运行 SQL 查询

结果 = duckdb.query(f"""

选择性别、年龄、幸存

FROM read_csv_auto('{url}')

年龄 > 18 岁

""").to_df()

打印(结果.head())

输出:

幸存的性别年龄0 男 22.0 01 女 38.0 12 女 26.0 13 女 35.0 14 男 35.0 0DuckDB 直接在 CSV 文件上运行 SQL 查询,然后将输出转换为 DataFrame。您可以通过 Python 的灵活性获得 SQL 速度。2. 极坐标Polars 是当今最受欢迎的数据库之一。它是用 Rust 语言实现的,速度非常快,内存要求极低。语法也非常干净。让我们使用 pip 安装它:现在,让我们使用泰坦尼克号数据集来介绍一个简单的示例:将极坐标导入为 pl# 加载数据集url =“https://raw.githubusercontent.com/mwaskom/seaborn-data/master/titanic.csv”df = pl.read_csv(url)result = df.filter(pl.col("age") > 40).select(["性别", "年龄", "幸存"])打印(结果)Polars 读取 CSV,根据年龄条件过滤行,并选择列的子集。3.PyArrow对于我们的示例,我们使用 CSV 格式的 Iris 数据集,如下所示:4.Modin5. Dask结论