繁体   English   中英

如何在 Python 和 numpy arrays 中可视化/连接向量、矩阵和表示?

[英]How to visualize/connect vectors, matrices and representations in Python and numpy arrays?

我无法将标量、向量和矩阵可视化为它们在数学/物理 class 中的编写方式,以及它们在普通 Python 和numpy中的表示方式,而不是它们对应的尺寸和形状。

  1. 如果我有一个标量,说5
>>> b = np.array(5)
>>> np.ndim(b)
0

我有 0 维5但这里的axes是什么? ndimshape的功能,但没有轴。

  1. 对于这样的向量:

矢量示例

我们说我们在物理/数学 class 中有 2 个维度,因为它代表一个 2D 向量,但看起来numpy使用了不同的概念。

为什么ndim给出1shape给出了尺寸?

>>> c = np.array([1,-3])
>>> c
array([ 1, -3])
>>> c.ndim
1
>>> c.shape
(2,)

np.ndim给出1呢?

我已经查看了有关轴的本教程,但无法了解轴如何在此处应用。

您将如何在 Python 和numpy中表示上述向量? 这是 Python 中的[1, -3]还是[[1], [-3]] numpy怎么样? 会是np.array([1, -3])还是np.array([[1], [-3]]) 为了我的眼睛,我倾向于写成

np.array([
    [1], 
    [-3]
])
  1. 除了向量,这个矩阵如何在普通的 Python 和numpy中表示? 文档指出我们需要使用np.array来代替。

不再推荐使用这个 class,即使是线性代数。 而是使用常规 arrays。 class 将来可能会被移除。

矩阵

  1. 对于多维 arrays,我将如何表示/可视化 3D 立方体中所有点的多个值? 假设我们有一个魔方,每个子立方体都有一个温度和一种颜色,用红色、绿色和蓝色表示,所以每个立方体有 4 个值?

标量不是数组,因此它的维数为 0。

np.array([1,-3])是一维数组,因此c.shape返回一个元组,其中只有一个元素(2,) ,只是第一个维度,它告诉您其中只有 1 个维度和 2 个元素方面。

你是正确的np.array([[1], [-3]])是你在 2 中的向量。 c.shape给出(2,1)意味着有 2 行和 1 列。 c.ndim给出2 ,因为有 2 个维度 x 和 y。 这是一个二维/平面阵列

对于 3.,您可以将其创建为np.array([[1,2,3], [4,5,6], [7,8,9]]) shape返回(3,3)表示 3 行和 3 列。 ndim返回 2 因为它仍然是 2D/平面数组。

一个ndarray有一个shape ,一个元组。 ndim是该元组的长度,可能为 0。数组具有ndim轴(有时称为维度)。

 np.array(5)

具有形状() , 0 ndim并且没有轴。

np.array([1,2,3,4])

具有 (4,) 形状和 1 个轴。 它可以重新整形为 (4,1) 或 (1,4) 或 (2,2) 甚至 (2,1,2) 或 (1,4,1)。

A可以用

A = np.arange(1,10).reshape(3,3)

这是一个 9 元素的一维数组,重新整形为 (3,3)

numpy arrays 有一个打印显示,带有[]标记的尺寸嵌套。 A.tolist()生成一个包含 3 个元素的列表,每个元素都是一个 3 元素列表。

行、列、平面是谈论 arrays 的有用方式,但不是它们定义的正式部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM