迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 NumPy 中按向量划分矩阵

作者:迹忆客 最近更新:2024/03/12 浏览次数:

本教程将讨论在 NumPy 中将矩阵除以向量的方法。


在 NumPy 中用 Python 中的数组切片方法按向量划分矩阵

矩阵是一个二维数组,而向量只是一个一维数组。如果我们想将矩阵的元素除以每行中的向量元素,我们必须向向量添加一个新维度。我们可以使用 Python 中的数组切片方法为向量添加一个新维度。下面的代码示例向我们展示了如何使用 Python 中的数组切片方法将矩阵的每一行除以向量。

import numpy as np

matrix = np.array([[2, 2, 2], [4, 4, 4], [6, 6, 6]])

vector = np.array([2, 4, 6])

matrix = matrix / vector[:, None]
print(matrix)

输出:

[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]

我们首先使用 np.array() 函数创建矩阵和向量。然后我们使用切片方法向向量添加了一个新轴。然后我们将矩阵除以数组并将结果保存在矩阵中。


在 NumPy 中用 NumPy 中的转置方法按向量划分矩阵

我们还可以转置矩阵以将矩阵的每一行除以每个向量元素。之后,我们可以转置结果以返回矩阵的先前方向。请参考以下代码示例。

import numpy as np

matrix = np.array([[2, 2, 2], [4, 4, 4], [6, 6, 6]])

vector = np.array([2, 4, 6])

matrix = (matrix.T / vector).T
print(matrix)

输出:

[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]

在上面的代码中,我们对矩阵进行了转置并将其除以向量。之后,我们对结果进行转置并将其存储在 matrix 中。


在 NumPy 中使用 numpy.reshape() 函数按向量划分矩阵

这种方法背后的整个想法是我们必须首先将向量转换为二维数组。numpy.reshape() 函数可用于将向量转换为二维数组,其中每一行仅包含一个元素。然后我们可以轻松地将矩阵的每一行除以向量的每一行。

import numpy as np

matrix = np.array([[2, 2, 2], [4, 4, 4], [6, 6, 6]])

vector = np.array([2, 4, 6])

matrix = matrix / vector.reshape((3, 1))
print(matrix)

输出:

[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]

在上面的代码中,我们使用 np.reshape() 函数将 vector 转换为 2D 数组。之后,我们将 matrix 除以 vector 并将结果存储在 matrix 中。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Python 中将 Tensor 转换为 NumPy 数组

发布时间:2024/03/12 浏览次数:118 分类:Python

在 Python 中,可以使用 3 种主要方法将 Tensor 转换为 NumPy 数组:Tensor.numpy()函数,Tensor.eval()函数和 TensorFlow.Session()函数。

将 PIL 图像转换为 NumPy 数组

发布时间:2024/03/12 浏览次数:153 分类:Python

在 Python 中,可以使用两种主要方法将 PIL 图像转换为 3 维 NumPy 数组:numpy.array()函数和 numpy.asarray()函数。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便