Python 中的多维数组:完整指南

多维数组可以表示关系表和矩阵,由许多一维数组组成,多维数组经常用于存储数学计算、图像处理和维护记录的数据。

在本文中,通过 Python 编程语言的示例介绍了多维数组(2D、3D 和 4D 数组)的创建和实现。为了在 Python 中理解和实现多维数组,需要使用NumPy包。它是一个 Python 库,允许用户访问多维数组对象、各种派生对象(例如屏蔽数组和矩阵)以及用于快速操作数组和多维矩阵的一系列函数。

Python 语言创建列表的标准方式与数组非常相似,但请记住,Python编程语言中的列表和数组之间存在非常细微的差异。您可以了解有关 python 中列表与数组之间差异的更多信息在本文中,我们只关注数组。下面的示例将展示通过标准方式创建的二维数组与使用 Numpy 包创建的二维数组的数据类型之间的差异。

#creating 2D array without any package
arr1 = [[0]*3]*2
print(arr1)
print(type(arr1))
 
#creating 2D array with numpy package
print("\n")
arr2 = np.array([[1,2,3,4], [5,6,7,8]])
print(arr2)
print(type(arr2))

输出

列表和数组

在开始数组实现之前,请确保在当前 IDE 中安装并导入 Numpy 包,以避免任何类型的错误。为此,请运行以下代码行。

#To install the Numpy package
pip install numpy
 
#To import the Numpy package
import numpy as np

二维 (2D) 数组

数组的数组是一个适用于二维数组的简单定义。构成二维阵列组织结构的矩阵的行和列可以被视为其主要组成部分。二维数组可以可视化为包含行和列元素的表格(正方形或矩形)。下图描绘了二维数组的结构。

二维阵列

在Python中实现二维数组

让我们从使用 numpy 数组方法实现二维数组开始。

arr = np.array([array1 values..][array2 values...])
  • arr:数组的名称
  • np.array:Numpy 包的函数
array_1 = np.array([[1,2,3,4],
                    [5,6,7,8]])
 
print("Output")
print(array_1)

输出

二维数组示例

Python 中的三维 (3D) 数组

3-D(三维)数组主要由 2-D 数组组成。行、列和页面元素可以被视为 3D 阵列的主要组件。我们可以将其可视化为由附加的行和列组成的多个表(就像一个立方体)。下图描绘了三维数组的结构。

3D阵列1
arr = numpy.array([2D_array1 values],[2D_array2 values]...)
  • arr:数组的名称
  • np.array:Numpy 包的函数
array_2 = np.array([[[1,2,3],[3,4,5]],
                   [[6,7,8],[9,8,7]],
                   [[6,5,4],[3,2,1]]])
 
print("Output")
print(array_2)

输出

3D 数组示例

四维 (4D) 数组

定义 4D 数组的一种简单方法是它是 3D 数组的数组。可视化 4D 数组有点复杂,但我们可以说它是一组 3D 数组(就像一排立方体)。下图描绘了四维数组的结构。

4维阵列

句法

arr = numpy.array([3D_array1],[3D_array2]…)

  • arr:数组的名称
  • numpy.array:numpy包的函数
array_3 = np.array([[[[1,2],[3,4],[5,6]]],
                   [[[7,8],[9,8],[7,6]]],
                   [[[5,4],[3,2],[1,0]]]])
                    
 
print("Output")
print(array_3)

输出

4D 数组示例

概括

数组是用于存储同质数据的出色数据结构。默认数组更像是Python中的列表数据结构。Numpy 是适用的开源免费软件包之一,有助于更快、更高效地创建和处理数组。Numpy 包还有许多其他内置函数来操作和重塑多维数组。Numpy 包中用于创建多维数组的其他一些内置函数如下:

要查看更多此类详细且易于理解的有关 Python 编程语言的文章, 请单击此处!