cuDF:加快数据处理流程的DataFrame库

简介: 数据科学家常用的工具

雷锋网 AI 科技评论按,数据处理是数据工程师经常要面对的问题,今天要推荐的是一个和数据处理相关的 DataFrame 库——cuDF。

cuDF 是一个基于 Apache Arrow 列内存格式的数据帧库,它是一个 GPU DataFrame 库,可以进行加载,连接,聚合,过滤等数据操作。

cuDF 提供了类似 pandas 的 API,数据工程师和数据科学家都很熟悉它们,他们可以使用它轻松地加快工作流程,而无需深入了解 CUDA 编程的细节。

例如,以下代码段下载 CSV,然后使用 GPU 将其解析为行和列并运行计算:

import cudf, io, requests

from io import StringIO

url="https://github.com/plotly/datasets/raw/master/tips.csv"

content = requests.get(url).content.decode('utf-8')

tips_df = cudf.read_csv(StringIO(content))

tips_df['tip_percentage'] = tips_df['tip']/tips_df['total_bill']*100

# display average tip by dining party size

print(tips_df.groupby('size').tip_percentage.mean())

得到的输出为:

size

1    21.729201548727808

2    16.571919173482897

3    15.215685473711837

4    14.594900639351332

5    14.149548965142023

6    15.622920072028379

Name: tip_percentage, dtype: float64

想查看更多示例,可以浏览的完整 API 文档,或查看更详细的说明。

那么如何安装这个工具?请参阅 Demo Docker Repository,根据正在运行的 NVIDIA CUDA 版本选择一个标签。

安装

conda

cuDF 可以通过渠道安装 conda(miniconda,或完整的 Anaconda 发行版) rapidsai:

# for CUDA 9.2

conda install -c nvidia -c rapidsai -c numba -c conda-forge -c defaults \

   cudf=0.6 python=3.6 cudatoolkit=9.2

# or, for CUDA 10.0

conda install -c nvidia -c rapidsai -c numba -c conda-forge -c defaults \

   cudf=0.6 python=3.6 cudatoolkit=10.0

我们还提供从我们最新开发分支的尖端构建的夜间 conda 包。

Pip

cuDF 也可以用 PyPi 安装。

# for CUDA 9.2

python3.6 -m pip install cudf-cuda92==0.6

# or, for CUDA 10.0

python3.6 -m pip install cudf-cuda100==0.6

注意:只有 Linux 系统支持 cuDF,并且 Python 的版本必须是 3.6 或 3.7 版本。

via : https://github.com/rapidsai/cudf

雷锋网(公众号:雷锋网)雷锋网

雷锋网版权文章,未经授权禁止转载。详情见转载须知。

目录
相关文章
|
4月前
|
数据采集 数据可视化 数据挖掘
数据清洗有什么方式
数据清洗有什么方式
|
7月前
|
数据挖掘 数据处理 索引
pandas及常见数据处理基础
欢迎关注我的微信公众号:Python学习杂记
|
25天前
|
数据采集 数据挖掘 大数据
数据处理利器:使用Pandas进行数据清洗与转换
【4月更文挑战第12天】在大数据时代,Pandas是Python数据分析的关键工具,提供高效的数据清洗和转换功能。本文介绍了如何使用Pandas处理缺失值(删除或填充)、异常值(Z-Score法和IQR法)以及重复值(检测和删除)。此外,还涵盖了数据转换,包括数据类型转换、数据标准化(Min-Max和Z-Score)以及类别数据的one-hot编码。通过学习这些方法,可以为数据分析和挖掘奠定坚实基础。
|
21天前
|
SQL 机器学习/深度学习 数据可视化
Pandas与其他库的集成:构建强大的数据处理生态
【4月更文挑战第16天】Pandas在数据处理中扮演关键角色,但与其他Python库如NumPy、Matplotlib/Seaborn、Scikit-learn和SQL的集成使其功能更加强大。结合NumPy进行数值计算,搭配Matplotlib/Seaborn实现高效可视化,与Scikit-learn联用加速机器学习,以及与SQL集成便于数据库操作,这些都构建了一个全面的数据处理生态系统,提升了数据科学家的工作效率,助力于数据价值的发掘。
|
28天前
|
数据采集 数据挖掘 数据处理
Pandas库在数据分析中的作用
【4月更文挑战第9天】Pandas,一个基于NumPy的数据分析Python库,以强大的数据处理和便捷的接口闻名。它包含两个核心数据结构:Series(一维标签数组)和DataFrame(二维表格)。Pandas支持数据导入/导出(如CSV、Excel),数据清洗(处理缺失值和重复值),描述性统计分析,分组聚合,以及与Matplotlib等库集成实现数据可视化。通过多索引和层次化索引,Pandas能灵活处理复杂数据集,是数据科学领域的关键工具。本文旨在帮助读者理解并运用Pandas进行高效数据分析。
|
6月前
|
数据采集 数据可视化 数据挖掘
pandas数据处理库的主要功能是什么?
pandas数据处理库的主要功能是什么?
|
10月前
|
存储 SQL 数据可视化
Pandas数据处理与分析教程:从基础到实战
Pandas数据处理与分析教程:从基础到实战
161 0
|
机器学习/深度学习 存储 JSON
从Pandas快速切换到Polars :数据的ETL和查询
对于我们日常的数据清理、预处理和分析方面的大多数任务,Pandas已经绰绰有余。但是当数据量变得非常大时,它的性能开始下降。
235 0
|
数据挖掘 索引 Python
数据分析处理库Pandas-数据读取
数据分析处理库Pandas-数据读取
数据分析处理库Pandas-数据读取
|
算法 数据处理 vr&ar
数据导入与预处理-拓展-pandas时间数据处理03(下)
数据导入与预处理-拓展-pandas时间数据处理03 Pandas时序数据系列博客 1. 时间序列数据 1. 1 时间序列概述
数据导入与预处理-拓展-pandas时间数据处理03(下)