pandas 是针对 Python 编程语言进行数据操作和数据分析的热门软件库。
pandas 是基于 Python 构建的用于数据操作和数据分析的软件库。pandas 库提供各种数据结构,专门用于通过简化的 Python API 来处理表格数据集。pandas 是对 Python 的扩展,可用于处理和操作表格数据,从而高效对数据集执行加载、对齐、合并和转换等操作。
作为一个数据分析工具,pandas 之所以受到欢迎,主要得益于它的多功能性和高效的性能。“pandas”的名称源自术语“panel data”,用于描述包含多个时间段观察结果的数据集,强调其专注于处理现实世界数据集的多样化数据结构。
pandas Python API 支持表格、矩阵和时间序列等结构化数据格式,提供各种工具来处理杂乱或原始数据集,将其整理为简明的结构化格式,以便进行分析。为提高性能,会在后端源代码中使用 C 或 Cython 来执行计算密集型操作。pandas 库本质上不支持多线程,这限制了其利用现代化多核平台的能力,并且无法高效处理大量数据。但是,Python 生态系统中的新库和扩展程序有助于打破这一限制。
pandas 库可与更广泛的 Python 数据分析生态系统内的其他科学工具相集成。
pandas 开源库的核心是用于处理表格和统计数据的 DataFrame 数据结构。pandas DataFrame 为二维数组式数据表,其中每列代表特定变量值,每行包含一组与这些变量对应的值。DataFrame 中存储的数据可包括数字、类别或文本等类型,以便 pandas 操作和处理多样性数据集。
pandas 支持导入和导出 CSV、SQL 和电子表格等各种文件格式的数据集。这些操作与其数据操作功能相结合,有助于 pandas 清理、调整并分析表格和统计数据。
从根本上说,DataFrame 是 pandas 的主干,可帮助用户高效管理和分析结构化数据集 — 从导入和导出原始数据,到执行用于机器学习等的高级数据操作任务。
pandas 支持导入和导出各种不同格式的表格数据,如 CSV、SQL 和电子表格文件。
pandas 还支持各种数据处理操作和数据清洗功能,包括选择子集、创建衍生列、排序、联接、填充、替换、汇总统计和绘图。
Python 软件包索引(Python 编程语言软件库)的编制者表示,pandas 非常适合处理多种数据,包括:
pandas 库为数据科学家和开发者带来了诸多优势,因此成为进行数据分析和操作的重要工具。主要优势包括:
PyPi 下载统计数据表明,pandas 已成为数据科学家和分析师的热门工具,能够高效处理各行各业的数据集。其数据分析和操作功能使其成为解决实际问题的首选工具。
由于 pandas 基于 Python 编程语言而构建,因此有必要了解为什么 Python 是一个如此强大的数据科学和分析工具。
自 1991 年推出以来,Python 编程日渐受到欢迎,成为 Web 开发、数据分析和机器学习的热门语言。其语法简单易读,便于初学者与高级用户集中精力解决问题,而避开低级语言的复杂性。由 pandas、NumPy、Matplotlib 和 Jupyter 等库和工具构成的庞大生态系统进一步提高了这种易用性。
pandas API 利用 Python 的这些优势,为数据操作和分析提供了可靠功能。用于字符串操作的 str 方法等函数以及对自定义 lambda 函数的支持,使用户能够直接在其工作流中写入清晰直观的算法。由于 Python 兼容 NumPy 等其他库,因此可以将数值计算与 pandas 的数据处理功能相集成。
Python 的生态系统使其能够通过 API 包装器与外部系统和服务进行交互。因此,无论是在本地系统还是基于云的环境中,都可更加轻松地将 pandas 集成到更大规模的数据工作流中。在可视化方面,Matplotlib 等库与 pandas 相辅相成,实现了清晰有效的数据图形表示。
Python 和 pandas 的官方文档提供全面的指南和代码示例,对学习该语言及其库大有裨益。这些资源与 Jupyter Notebook 等交互式工具相结合,使 Python 成为开发和测试数据驱动式算法的热门选择。
Python 将 Python 编程的灵活性、pandas 和 NumPy 等库的强大功能以及 Matplotlib 等可视化工具融为一体,提供了一个高度集成的环境,以便轻松应对复杂的数据挑战。
传统 CPU 针对顺序串行处理进行了优化,而 GPU 则采用大规模并行架构,其中包含数千个专为同时处理多项任务而设计的微型核心。由于具有这种并行处理能力,在处理大量数据以及执行计算密集型任务方面,GPU 的速度远超 CPU。其高效率和较低的每 FLOP 成本(性价比)颠覆了计算密集型工作负载处理,在数据科学和机器学习领域尤其如此。
对于数据科学任务,例如处理 pandas DataFrame 或对大型数据集执行 DataFrame 操作,GPU 加速具有明显优势。通常在 CPU 上运行的 pandas 等传统工具现在可进行优化,以通过 NVIDIA 的 cuDF 库充分发挥 GPU 的强大优势,而无需更改任何代码。作为 NVIDIA RAPIDS™ 数据科学平台的一部分,cuDF 是一个 GPU DataFrame 库,可提供与 pandas 类似的 API 来加载、筛选和操作数据。早期版本的 cuDF 仅适用于 GPU 开发工作流。借助 cuDF,相比于 CPU,数据科学家可将 GPU 性能提升 50 倍,而无需更改任何 pandas 代码。
数据科学家希望在数据增长到千兆级以及性能下降时能够继续使用 pandas,NVIDIA cuDF 专为满足这一需求而打造。cuDF 进行 pandas 加速时,如果可能,将在 GPU 上执行操作,否则在 CPU 上执行(使用 pandas)。cuDF 会根据需要在后台对 GPU 与 CPU 进行同步。这提供了统一的 CPU/GPU 体验,从而帮助 pandas 工作流实现优异的性能。这种设计确保熟悉 pandas DataFrame 工作流的用户无需更改代码即可过渡到 GPU 加速计算。
通过对数据集清洗、转换和分析等数据准备任务启用基于 GPU 的处理,cuDF 显著减少了运行时瓶颈。由于集成了 scikit-learn 等机器学习工具,并支持多 GPU 和多节点部署,用户能够处理更大规模的数据集并进行高效扩展。这种功能改变了传统 ETL 工作流,使加速从 DataFrame 操作到机器学习甚至深度学习等工作流成为可能。
要开始使用加速版 pandas,需要首先安装 NVIDIA RAPIDS。请参阅 RAPIDS 安装指南中的安装文档,安装 cuDF 以及您的架构所需项。
安装合适的 NVIDIA RAPIDS 库后,需要安装 pandas。可以使用 pip 或 conda 安装 pandas,如下所示:
pip install pandas 或 conda install -c conda-forge pandas
如果使用的是 iPython 解释器或在 Jupyter Notebook 中进行编码,请在导入 pandas 之前添加以下代码行:
%%load_ext cudf.pandas
import pandas as pd
如果使用的是标准 Python 解释器,请在导入 pandas 之前添加以下代码行:
import cudf.pandas
cudf.pandas.install()
import pandas as pd