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 文档(https://rapidsai.github.io/projects/cudf/en/latest/index.html),或查看更详细的说明(https://github.com/rapidsai/notebooks-extended)。
那么如何安装这个工具?请参阅 Demo Docker Repository(https://hub.docker.com/r/rapidsai/rapidsai/),根据正在运行的 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
点击阅读原文,加入 Python 技术交流小组,与同行一起学习交流