跳转到主要内容

dataframe库之间的极轻量级兼容层

项目描述

Narwhals

narwhals_small

PyPI version Downloads

数据框库之间的极轻量级和可扩展兼容层!

  • 全面 API 支持:cuDF, Modin, pandas, Polars, PyArrow
  • 仅懒式支持:Dask
  • 交换级支持:Ibis, Vaex, 以及任何实现 DataFrame 交换协议的其他工具

无缝支持所有,不依赖任何!

开始使用!

使用 / 与其集成

加入聚会!

如果列表中缺少您的项目,请随时添加,并且/或者如果您需要任何支持,请在 Discord 上与我们聊天

安装

  • pip(推荐,因为它是最新版本)
    pip install narwhals
    
  • conda-forge(也可以,但最新版本可能需要更长时间才能出现)
    conda install -c conda-forge narwhals
    

用法

使用 Narwhals 编写数据框库无关代码有三个步骤

  1. 使用 narwhals.from_native 将 pandas/Polars/Modin/cuDF/PyArrow DataFrame/LazyFrame 包装在 Narwhals 类中

  2. 使用 Narwhals 支持的 Polars API 子集

  3. 使用 narwhals.to_native 将对象返回给用户,以其原始数据框格式。例如

    • 如果您开始于 pandas,您将得到 pandas
    • 如果您开始于 Polars,您将得到 Polars
    • 如果您开始于 Modin,您将得到 Modin(计算将进行分布式处理)
    • 如果您开始于 cuDF,您将得到 cuDF(计算将在 GPU 上进行)
    • 如果您开始于 PyArrow,您将得到 PyArrow

narwhals_gif

示例

请参阅 教程 了解几个示例!

范围

  • 您维护一个消耗数据框的库吗?
  • 您是否有一个特定的 Polars 函数,希望 Narwhals 拥有以使您的工作更轻松?

如果您两个都回答了是,我们将非常乐意听取您的意见!

赞助商和机构合作伙伴

Narwhals 是 100% 独立、社区驱动和社区拥有的。我们非常感谢以下组织为我们提供了一些资金/开发时间

如果您在您所在组织的办公时间内为 Narwhals 做贡献,请告知我们。我们很乐意将您的雇主添加到这个名单上!

出现在

Narwhals 已在多个演讲、播客和博客文章中被提及

为什么叫“Narwhals”?

因为它们太棒了.

感谢 Olha Urdeichuk 提供插画!

由以下机构支持