Python NumPy apply_over_axes()函数示例

Python Numpy apply_over_axes()是一个内置的NumPy函数,用于在nd数组中的多个轴上重复执行任何功能。请注意,轴与轴之间的区别在于,轴为复数形式,而轴为单数形式。就是说,在此功能中,我们可以提及要在其上执行操作的轴。

Python NumPy apply_over_axes()

Python apply_over_axes()函数在数组的多个轴上重复应用该函数。

句法

numpy.apply_along_axis(1d_func, array, axes, *args, **kwargs)

参量

NumPy apply_over_axes()函数具有5个参数:

  1. 1d_func:此参数是必需的函数,它将对一维数组执行操作。可以将其应用于输入数组的一维切片并沿特定轴应用。
  2. 数组:这是我们要处理的数组。
  3. 轴:这是我们要沿其运行的必需轴。
  4. * args:这是1D函数(1d_func)的附加参数。
  5. ** kwargs:1D函数(1d_func)的附加命名参数。

返回值

NumPy apply_over_axes()函数返回一个输出数组。输出数组的形状可能有所不同,具体取决于函数(1d_func)是否根据其输入更改其输出的形状。

计算二维数组的总和

请参阅以下代码。

#Importing numpy
import numpy as np

#We will create a 2D array
#Of shape 4x3
arr = np.array([(1, 10, 3), (14, 5, 6), (7, 8, 19), (50, 51, 52)])
#Printing the array
print("The array is: ")
print(arr)

#Declaring axes
axes = [1, -1]
print("Sum of array elements are:")
print(np.apply_over_axes(np.sum, arr, axes))

输出量

The array is:
[[ 1 10  3]
 [14  5  6]
 [ 7  8 19]
 [50 51 52]]
Sum of array elements are:
[[ 14]
 [ 25]
 [ 34]
 [153]]

说明

在此示例中,我们声明了一个大小为4×3的2D数组,然后打印了它及其形状。

我们已经声明axes =[1,-1] 并调用了apply_over_axes()以计算其元素的总和。
我们可以看到我们有一列4行,每列都有其行元素的总和。

计算3D数组的总和

请参阅以下代码。

#Importing numpy
import numpy as np

#We will create a 2D array
#Of shape 4x3
arr = np.arange(12).reshape(2, 2, 3)
#Printing the array
print("The array is: ")
print(arr)

#Declaring axes
axes = [0, 2]
print("Sum of array elements are:")
print(np.apply_over_axes(np.sum, arr, axes))

输出量

The array is:
[[[ 0  1  2]
  [ 3  4  5]]

 [[ 6  7  8]
  [ 9 10 11]]]
Sum of array elements are:
[[[24]
  [42]]]

说明

在此示例中,我们首先声明了一个形状为(2x2x3)的3D数组,并打印了该数组。

我们用值声明了轴 [0,2],这将计算轴0和2上的总和。

我们可以看到,调用函数后,便获得了所需的输出。

也可以看看

Python NumPy argmax()

Python NumPy take()

Python NumPy any()

Python NumPy all()

Python NumPy apply_along_axis()

资讯来源:由0x资讯编译自APPDIVIDEND,版权归作者Ankit Lathiya所有,未经许可,不得转载
你可能还喜欢