NumPy基础-编写自定义数组容器

本文介绍了如何使用NumPy的分配机制创建自定义n维数组容器,类似于dask和cupy数组。通过定义_array_ufunc_和_array_function_接口,我们可以使自定义数组与NumPy函数兼容。示例中展示了如何处理通用函数(ufunc)和NumPy函数,以及如何实现sum和mean等方法。同时,指出了当尝试使用未处理的NumPy函数时可能会遇到的TypeError。
摘要由CSDN通过智能技术生成

我们可以使用NumPy中引入的NumPy的分配机制来编写与NumPy API兼容并提供NumPy功能的自定义实现的自定义n维数组容器,应用程序包括dask数组(分布在多个节点上的n维数组)和cupy数组(GPU上的n维数组 )。
下面示例的实用程序不常用,但说明了所涉及的概念。
在这里插入图片描述
我们自定义数组可以像这样实例化:
在这里插入图片描述
我们可以使用numpy.array或numpy.asarray转换为numpy数组,这将调用其_array_方法以获得标准numpy.ndarray。
在这里插入图片描述
如果我们使用numpy函数对arr进行操作,numpy将再次使用array接口将其转换为数组,然后以通常的方式使用该函数。
在这里插入图片描述
返回类型是标准的numpy.ndarray
在这里插入图片描述
我们如何通过这个函数传递我们

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值