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