迹忆客 专注技术分享

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

在 NumPy 中转置一维数组

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

数组和矩阵构成此 Python 库的核心。这些数组和矩阵的转置在某些主题(例如机器学习)中起着至关重要的作用。在 NumPy 中,很容易计算数组或矩阵的转置。


在 NumPy 中转置一维数组

要在 NumPy 中转置数组或矩阵,我们必须使用 T 属性,该属性存储转置的数组或矩阵。

T 属性是 NumPy 数组的专有属性,即仅 ndarray。此属性对 Python 列表无效。

从理论上讲,可以转置 1D 数组,但是从技术上或更准确地说,就编程语言而言,不可能转置 1D 数组。

不要误解我这个说法。只是在 Python 或任何其他编程语言中转置一维数组有点不同。一切都归结为如何用编程语言表示数组。

一维数组只是矩阵的一行。如果必须转置该数组(从技术上讲是矩阵),则必须将此 1D 矩阵转换为 2D 矩阵。然后使用指定的函数转置二维矩阵。

请参考以下代码以获得更好的解释。

import numpy as np

a = [1, 2, 3, 4, 5]
b = np.array(a)
c = np.array([a])
print(b)
print(c)
print(b.shape)
print(c.shape)
print(b.T)
print(c.T)

输出:

[1 2 3 4 5]
[[1 2 3 4 5]]
(5,)
(1, 5)
[1 2 3 4 5]
[[1]
 [2]
 [3]
 [4]
 [5]]

首先,我们使用 np.array() 方法和一个 Python 列表,形成两个 NumPy 数组,b 是 1D,c 是 2D。要将列表转换为 2D 矩阵,我们用 [] 括起来。然后,我们打印 NumPy 数组及其各自的形状。

但是要注意的最重要的一点是 1D 数组的转置与数组本身相同,但是 2D 数组的转置已完全更改。结果非常明显。

非转置 2D 数组内部有一个数组,其中五个元素代表矩阵的一行。转置后,2D 数组中有五个数组,代表转置矩阵的五行,每行有一个元素。这就是移调的工作方式!

而对于一维数组,返回相同的数组是因为 Python 中 [1 2 3 4 5] 的转置数组看起来像这样 [1 2 3 4 5]。此结果要求我们原始数组为 2D 而不是 1D。

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

本文地址:

相关文章

在 Python 中将 Tensor 转换为 NumPy 数组

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

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

Python NumPy 中的逐元素除法

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

有两种主要方法可用于在 Python 中对 NumPy 数组执行逐元素除法,即 numpy.divide() 函数和 / 运算符。

如何在 Matplotlib Pyplot 中显示网格

发布时间:2024/02/04 浏览次数:128 分类:Python

本文演示了如何在 Python Matplotlib 中在一个图上画一个网格。使用 grid()函数来绘制网格,并解释了如何改变网格颜色和线条类型。

如何在 Matplotlib 中画一条任意线

发布时间:2024/02/04 浏览次数:155 分类:Python

本教程讲解了我们如何在 Matplotlib 中使用 matplotlib.pyplot.plot()、matplotlib.pyplot.vlines()、matplotlib.pyplot.hlines()方法和 matplotlib.collection.LineCollection 绘制任意线条。

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便