当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python dask.array.prod用法及代码示例

用法:

dask.array.prod(a, axis=None, dtype=None, keepdims=False, split_every=None, out=None)

返回给定轴上数组元素的乘积。

此文档字符串是从 numpy.prod 复制的。

可能存在与 Dask 版本的一些不一致之处。

参数

aarray_like

输入数据。

axis无或整数或整数元组,可选

执行产品的一个或多个轴。默认值,axis=None,将计算输入数组中所有元素的乘积。如果轴为负数,则从最后一个轴计数到第一个轴。

如果axis是整数元组,则在元组中指定的所有轴上执行乘积,而不是像以前那样在单个轴或所有轴上执行。

dtypedtype,可选

返回数组的类型,以及元素相乘的累加器的类型。默认情况下使用a 的dtype,除非a 的整数dtype 的精度低于默认平台整数。在这种情况下,如果a 有符号则使用平台整数,而如果a 无符号则使用与平台整数具有相同精度的无符号整数。

outndarray,可选

用于放置结果的替代输出数组。它必须具有与预期输出相同的形状,但如果需要,输出值的类型将被强制转换。

keepdims布尔型,可选

如果将其设置为 True,则缩小的轴将作为尺寸为 1 的尺寸留在结果中。使用此选项,结果将针对输入数组正确广播。

如果传递了默认值,那么 keepdims 将不会传递给 ndarray 的子类的 prod 方法,但是任何非默认值都会传递。如果 sub-class' 方法未实现 keepdims,则将引发任何异常。

initial标量,可选(Dask 中不支持)

此产品的起始值。有关详细信息,请参阅~numpy.ufunc.reduce

where数组 of bool,可选(在 Dask 中不支持)

要包含在产品中的元素。有关详细信息,请参阅~numpy.ufunc.reduce

返回

product_along_axisndarray,请参见上面的dtype 参数。

形状为 a 但已删除指定轴的数组。如果指定,则返回对 out 的引用。

注意

使用整数类型时算术是模块化的,溢出时不会引发错误。这意味着,在 32 位平台上:

>>> x = np.array([536870910, 536870910, 536870910, 536870910])  
>>> np.prod(x)  
16 # may vary

空数组的乘积是中性元素 1:

>>> np.prod([])  
1.0

例子

默认情况下,计算所有元素的乘积:

>>> np.prod([1.,2.])  
2.0

即使输入数组是二维的:

>>> np.prod([[1.,2.],[3.,4.]])  
24.0

但我们也可以指定相乘的轴:

>>> np.prod([[1.,2.],[3.,4.]], axis=1)  
array([  2.,  12.])

或选择要包括的特定元素:

>>> np.prod([1., np.nan, 3.], where=[True, False, True])  
3.0

如果x 的类型是无符号的,则输出类型是无符号平台整数:

>>> x = np.array([1, 2, 3], dtype=np.uint8)  
>>> np.prod(x).dtype == np.uint  
True

如果x 是有符号整数类型,则输出类型是默认平台整数:

>>> x = np.array([1, 2, 3], dtype=np.int8)  
>>> np.prod(x).dtype == int  
True

您还可以使用非 1 的值启动产品:

>>> np.prod([1, 2], initial=5)  
10

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.array.prod。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。