在 Numpy 中沿轴 1 缩减多维数组

numpyserver side programmingprogramming更新于 2025/9/3 4:22:17

要缩减多维数组,请使用 Python Numpy 中的 np.ufunc.reduce() 方法。这里我们使用 add.reduce() 将其缩减为元素的相加。轴使用"axis"参数设置。缩减操作沿一个或多个轴进行。

numpy.ufunc 具有对整个数组逐个元素进行操作的函数。 ufuncs 使用 C 语言编写(为了提高速度),并通过 NumPy 的 ufunc 功能链接到 Python。

通用函数(简称 ufunc)是一种以逐个元素的方式对 ndarray 进行操作的函数,支持数组广播、类型转换和其他一些标准特性。

也就是说,ufunc 是一个函数的"向量化"包装器,它接受固定数量的特定输入并产生固定数量的特定输出。

步骤

首先,导入所需的库 −

import numpy as np

创建一个多维数组 −

arr = np.arange(27).reshape((3,3,3))

显示数组 −

print("数组...
", arr)

获取数组的类型 −

print("
我们的数组类型...
", arr.dtype)

获取数组的维度 −

print("
我们的数组维度...
",arr.ndim)

要对多维数组进行归约,请使用 Python Numpy 中的 np.ufunc.reduce() 方法。这里,我们使用 multiply.reduce() 将其归约成元素的乘法。轴使用 "axis" 参数设置。执行归约的轴:

print("
结果(乘法)...
",np.multiply.reduce(arr, axis = 1))

要对多维数组进行归约,请使用 Python Numpy 中的 np.ufunc.reduce() 方法。这里,我们使用 add.reduce() 将其归约成元素的加法。轴使用 "axis" 参数设置。执行约简运算的一个或多个轴 −

print("
结果(加法)...
",np.add.reduce(arr, axis = 1))

示例

import numpy as np

# numpy.ufunc 具有对整个数组逐个元素进行操作的函数。
# ufuncs 使用 C 语言编写(以提高速度),并通过 NumPy 的 ufunc 功能链接到 Python

# 创建一个多维数组
arr = np.arange(27).reshape((3,3,3))

# 显示数组
print("数组...
", arr) # 获取数组的类型 print("
我们的数组类型...
", arr.dtype) # 获取数组的维度 print("
我们的数组维度...
",arr.ndim) # 要对多维数组进行归约,请使用 Python Numpy 中的 np.ufunc.reduce() 方法 # 这里,我们使用 multiply.reduce() 将其归约成元素乘法 # 使用"axis"设置轴参数 # 执行归约操作的轴 print("
结果(乘法)...
",np.multiply.reduce(arr, axis = 1)) # 要对多维数组进行归约,请使用 Python Numpy 中的 np.ufunc.reduce() 方法 # 这里我们使用 add.reduce() 将其归约成元素的加法 # 使用"axis"参数设置轴 # 执行归约操作的轴 print("
结果(加法)...
",np.add.reduce(arr, axis = 1))

输出

数组...
[[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]]

[[ 9 10 11]
[12 13 14]
[15 16 17]]

[[18 19 20]
[21 22 23]
[24 25 26]]]

我们的数组类型...
int64

我们的数组维度...
3

结果(乘法)...
[[ 0 28 80]
[ 1620 2080 2618]
[ 9072 10450 11960]]

结果(加法)...
[[ 9 12 15]
[36 39 42]
[63 66 69]]

相关文章