NumPy数组维度

作者: 心际花园 | 来源:发表于2022-12-06 11:33 被阅读0次

【介绍】

数组维数

现在我们已经创建了一维和二维数组,

让我们深入了解 NumPy 的主要优势之一:处理任何维度数据的能力。

由于以更高维度保存的数据可能更难处理,我们还将学习如何检查和更新数组形状。

让我们潜入!

3D 数组

就像我们可以通过向 NumPy 提供列表列表来创建 2D 数组一样,我们可以通过创建列表的列表的列表来创建 3D 数组。

或者,我们可以创建一个 2D 数组的数组。

为此,我们将 2D 数组列表传递给np.array()

我们可以将 3D 阵列可视化为一堆形状相同的 2D 数组堆叠在一起。

array_1_2D = np.array([[1,2], [5,7]])

array_2_2D = np.array([[8,9], [5,7]])

array_3_2D = np.array([[1,2], [5,7]])

array_3D = np.array([array_1_2D, array_2_2D, array_3_2D])

4D数组

四维数组可能更难可视化,因为我们没有第四维。将 4D 阵列视为充满 3D 阵列的 2D 阵列。

array_4D = np.array([array_A_3D, array_B_3D,array_C_3D,array_D_3D,array_E_3D,array_F_3D,array_G_3D, array_H_3D,array_I_3D])

向量数组

程序员和 NumPy 文档有时将数组称为向量(vectors)、矩阵(matrices)或张量(tensors)。

这些是数学术语而不是 NumPy 术语;它们都描述了数组的类型。

它们之间的区别在于数组具有的维数。

向量是指具有一维的数组

NumPy 中的行和列(或水平和垂直)向量之间没有区别,因为没有为 1D 数组指定第二个轴。

要创建显式水平或垂直的数组,它必须是 2D 数组,以便 NumPy 了解它所在的轴,如右侧的数组。

由于这些数组是二维的而不是一维的,因此将它们称为向量是不正确的。

矩阵和张量数组

相反,在数学中,二维数组称为矩阵

具有三个或更多维度的数组称为张量

变形

我们已准备好学习我们的第一个数组属性和数组方法!

数组属性是数组实例的属性,例如数组的形状 .shape

.flatten().reshape()这样的数组方法直接在数组对象本身上调用,而不是像我们对np.array()等NumPy函数那样将数组作为参数传递。

查找数组的形状

.shape描述数组的形状,并返回每个维度长度的元组

array.shape 表示具有3行5列的二维数组。


array = np.zeros((3,5))

print(array)

array.shape

行和列

在 NumPy 中,引用行和列只能让我们走到这一步,因为许多数组都有二维以上的维度。

我们可以引用第一个维度,而不是引用

我们可以参考第二个维度,而不是引用

但是,在处理 2D 数组时,通常回退到行和列术语。

展平数组

操作一维数据通常比操作大型多维数组更容易。

np.flatten() 可以在这里提供帮助:它接受所有数组元素并将它们放在 1D 数组中的一个维度中。


array = np.array([[1,2], [5,7], [6,6]])

array.flatten()

重塑数组

.reshape()方法允许我们重新定义数组的形状,而无需更改构成数组的元素。

在这个例子中,我们把一个3行2列的二维数组变成一个2行3列的二维数组。

传递给 .reshape()的形状元组必须与数组中的元素数兼容。

这个数组不能重新塑造成 (3, 3) 的形状,因为3乘以3就是9,而数组只有6个元素。

array = np.array([[1,2], [5,7], [6.6]])
array.reshape((2,3))

让我们开始练习

好了,是时候自己玩弄数组维度了!

【一句话总结】

本节讲如何创建3D数组、4D数组,以及向量、矩阵、张量的概念,以及发现数组的形状和变形

概念

向量数组,就是一维数组。

矩阵数组,就是二维数组。

张量数据,就是三维及以上数组。

数组属性,就是数组实例的属性。

数组方法,直接在数组对象本身上调用的方法。

事实

2D数组,使用术语行列。

3D及以上数组,使用第一个维度,第二个维度。

程序

创建3D数组 np.array([array_1_2D, array_2_2D])

创建4D数组 np.array([array_1_3D, array_2_3D])

查询数组的形状 array.shape

展平为一维数组 array.flatten()

重塑数组形状 array.reshape((num1, num2))

相关文章

  • 【Python学习笔记】numpy初学笔记

    1. Numpy数组的创建 2. Numpy数组的属性 ndim : 数组的维度 shape : 数组每个维度的大...

  • NumPy

    Numpy简单创建数组 Numpy查看数组属性 数组元素个数 数组形状 数组维度 数组元素类型 快速创建N维数组的...

  • NumPy

    # NumPy ## The Basics NumPy 主要面向的对象是齐次多维数组。在NumPy中维度(dime...

  • 2.2-Numpy数组基本用法

    NumPy数组基本用法 1.Numpy是Python科学计算库,用于快速处理任意维度的数组。2.NumPy提供一个...

  • NumPy数组维度

    【介绍】 数组维数 现在我们已经创建了一维和二维数组, 让我们深入了解 NumPy 的主要优势之一:处理任何维度数...

  • numpy数组的堆叠:numpy.stack, numpy.hs

    stack是指维度域的堆叠 numpy.hstack与numpy.vstack对维度低于3的数组较为有用(能较好理...

  • NumPy 基本数据结构和属性

    NumPy 基本数据结构和属性 Numpy是Python科学计算库,用于快速处理任意维度的数组 NumPy提供一...

  • NumPy.array 的基本操作

    基本属性 .ndim 查看数组是几维数组 .shape 查看数组维度 .size查询数组中元素个数 numpy.a...

  • Python数据分析(一):Numpy库学习

    一、Numpy简介 Numpy是python的科学计算库,支持高级大量的维度数组与矩阵运算,此外有针对数组运算提供...

  • numpy -- 基础

    1 Numpy 什么是Numpy数学库,c语言和Python语言混合, NumPy 主要用于大量的维度数组与矩阵运...

网友评论

    本文标题:NumPy数组维度

    本文链接:https://www.haomeiwen.com/subject/camwfdtx.html