Numpy 一维数组与二维数组加减操作

Numpy 一维数组与二维数组加减操作

在numpy中,数组的加减是非常简单的。我们可以直接使用numpy.ndarray下的add()subtract()方法来进行数组加减操作。但是,当我们有一个一维数组与一个二维数组进行加减操作时,却需要特殊的处理方法。

阅读更多:Numpy 教程

一维数组与一维数组加减

首先,我们来看一维数组与一维数组的加减。这是较为简单的操作,我们可以直接使用numpy.add()numpy.subtract()方法。

下面是一个示例代码:

import numpy as np

arr_1 = np.array([1, 2, 3, 4, 5])
arr_2 = np.array([5, 4, 3, 2, 1])

arr_add = np.add(arr_1, arr_2)
arr_subtract = np.subtract(arr_1, arr_2)

print("Addition Result:", arr_add)
print("Subtraction Result:", arr_subtract)

运行结果:

Addition Result: [6 6 6 6 6]
Subtraction Result: [-4 -2  0  2  4]

二维数组与二维数组加减

接下来,我们来看二维数组与二维数组的加减。这也是较为简单的操作,我们同样可以直接使用numpy.add()numpy.subtract()方法。

下面是一个示例代码:

import numpy as np

arr_1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
arr_2 = np.array([[9, 8, 7], [6, 5, 4], [3, 2, 1]])

arr_add = np.add(arr_1, arr_2)
arr_subtract = np.subtract(arr_1, arr_2)

print("Addition Result:\n", arr_add)
print("Subtraction Result:\n", arr_subtract)

运行结果:

Addition Result:
 [[10 10 10]
 [10 10 10]
 [10 10 10]]
Subtraction Result:
 [[-8 -6 -4]
 [-2  0  2]
 [ 4  6  8]]

二维数组与一维数组加减

最后,我们来看二维数组与一维数组的加减。这是较为复杂的操作,我们需要注意维度的问题。

在这种情况下,我们需要将一维数组与二维数组进行扩展,使得它们的维度相同。这里我们可以使用numpy.newaxis来添加新的维度。

下面是一个示例代码:

import numpy as np

arr_1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
arr_2 = np.array([9, 8, 7])

arr_add = arr_1 + arr_2[np.newaxis, :]
arr_subtract = arr_1 - arr_2[np.newaxis, :]

print("Addition Result:\n", arr_add)
print("Subtraction Result:\n", arr_subtract)

运行结果:

Addition Result:
 [[10 10 10]
 [13 13 13]
 [16 16 16]]
Subtraction Result:
 [[-8 -6 -4]
 [-5 -3 -1]
 [-2  0  2]]

以上代码中,我们在arr_2中添加了一个新的轴,并且将其转置,使得新生成的数组大小为(1, 3)。然后,我们就可以将其和arr_1进行计算。

总结

在numpy中,数组的加减操作非常简单,我们可以直接使用numpy.ndarray下的add()subtract()方法来进行操作。但当我们需要进行一维数组与二维数组的加减时,需要注意维度的问题,我们需要将一维数组扩展成二维数组后,使得维度相同,然后才能进行计算。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程