📜  Python| numpy matrix.put()(1)

📅  最后修改于: 2023-12-03 14:46:21.187000             🧑  作者: Mango

Python | numpy matrix.put()

numpy.matrix.put()函数是用于将值放置在矩阵中指定的索引位置。

该函数的语法如下所示:

numpy.matrix.put(indices, values, mode='raise')

其中,参数indices是一个整数或整数数组,用于指定要放置值的位置。如果indices是整数,则表示放置值的索引是一维的。如果indices是整数数组,则表示位置索引是多维的。参数values是要放置的值。参数mode是一个可选参数,用于指定如何处理无效的索引。

下面是一个示例,它演示了如何在矩阵中放置值:

import numpy as np

matrix = np.matrix('1 2 3; 4 5 6; 7 8 9')

print("原始矩阵:\n", matrix)

matrix.put([0, 2], [10, 30])

print("修改后的矩阵:\n", matrix)

输出结果如下所示:

原始矩阵:
 [[1 2 3]
 [4 5 6]
 [7 8 9]]
修改后的矩阵:
 [[10  2 30]
 [ 4  5  6]
 [ 7  8  9]]

在上面的示例中,原始矩阵包含3行和3列。然后,我们使用put()函数在矩阵的第1和第3个位置上将值10和30放置在矩阵中。这导致原始矩阵被修改并包含新的值。

在本函数中,参数mode可以取以下3种值之一:

  • 'raise':当在无效的索引位置中放置值时引发IndexError。
  • 'wrap':在无效的索引位置上循环放置值。
  • 'clip':将无效的索引位置剪切到可接受的范围内。

下面是一个示例,它演示了如何使用mode参数将值放置在无效的索引位置上:

import numpy as np

matrix = np.matrix('1 2 3; 4 5 6; 7 8 9')

print("原始矩阵:\n", matrix)

matrix.put([0, 100], [10, 30], 'wrap')

print("修改后的矩阵:\n", matrix)

输出结果如下所示:

原始矩阵:
 [[1 2 3]
 [4 5 6]
 [7 8 9]]
修改后的矩阵:
 [[10  2  3]
 [ 4  5  6]
 [30  8  9]]

在上面的示例中,参数mode设置为'wrap'。因此,当尝试在无效的索引位置100上放置值时,该值被放置在矩阵中的下一个位置上,即第0行第0列。对于其他无效的索引位置,此示例以类似的方式进行处理。