- NumPy介绍
- 什么是NumPy?
- 为什么使用NumPy?
- 为什么NumPy比Lists快?
- NumPy是用哪种语言编写的?
- NumPy代码库在哪里?
- NumPy 安装
- 安装 NumPy
- 尝试使用 NumPy
- 检查数字Py版本
- NumPy 创建数组
- 创建一个 NumPy ndarray 对象
- 数组中的维度
- 0-D 阵列
- 1-D 阵列
- 2-D 阵列
- 3-D 阵列
- 查看数组维度
- 高维数组
NumPy是一个用于处理数组的Python库。
它还具有在线性代数,傅里叶变换和矩阵领域工作的函数。
NumPy由Travis Oliphant于2005年创建。这是一个开源项目,您可以自由使用它。
NumPy 代表 Numeric Python。
为什么使用NumPy?在Python中,我们有用于数组目的的列表,但它们的处理速度很慢。
NumPy旨在提供一个比传统Python列表快50倍的数组对象。
NumPy中的数组对象被称为,它提供了许多支持函数,使工作变得非常容易。ndarray``ndarray
数组在数据科学中非常频繁地使用,其中速度和资源非常重要。
为什么NumPy比Lists快?与列表不同,NumPy数组存储在内存中的一个连续位置,因此进程可以非常有效地访问和操作它们。
此行为在计算机科学中称为引用位置。
这是NumPy比列表更快的主要原因。此外,它还经过优化,可与最新的CPU架构配合使用
NumPy是用哪种语言编写的?NumPy是一个Python库,部分用Python编写,但大多数需要快速计算的部分都是用C或C++编写的。
NumPy代码库在哪里?NumPy的源代码位于此github存储库 https://github.com/numpy/numpy
NumPy 安装 安装 NumPypip install numpy尝试使用 NumPy
-
Import NumPy
安装NumPy后,通过添加关键字将其导入到应用程序中:import
例子:
import numpy arr = numpy.array([1, 2, 3, 4, 5]) print(arr)
响应结果:
[1 2 3 4 5]
-
别名导入:import numpy as np
例子:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr)
响应结果:
[1 2 3 4 5]
版本字符串存储在属性下。__version__
import numpy as np print(np.__version__)
响应结果:
1.22.4NumPy 创建数组 创建一个 NumPy ndarray 对象
NumPy 用于处理数组。NumPy 中的数组对象称为 : ndarray
我们可以使用函数array()创建一个NumPy ndarray对象。
例子:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr) print(type(arr))
运行结果:
[1 2 3 4 5]
要创建一个ndarray ,我们可以将列表,元组或任何类似数组的对象传递到方法array()中,它将转换为
ndarray
import numpy as np arr = np.array((1, 2, 3, 4, 5)) print(arr)
运行结果:
[1 2 3 4 5]数组中的维度
数组中的维度是数组深度的一个级别(嵌套数组)。
嵌套数组: 是以数组作为其元素的数组。
0-D 阵列0-D 数组或标量是数组中的元素。数组中的每个值都是一个 0-D 数组。
例: 创建值为 42 的 0-D 数组
import numpy as np arr = np.array(42) print(arr)
运行结果:
421-D 阵列
以 0-D 数组作为其元素的数组称为一维或一维数组。
这些是最常见和最基本的数组。
例 : 创建一个包含值 1,2,3,4,5 的一维数组
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr)
运行结果:
[1 2 3 4 5]2-D 阵列
以一维数组作为其元素的数组称为二维数组。
这些通常用于表示矩阵或二阶张量。
NumPy有一个专门用于矩阵运算的整个子模块,称为numpy.mat
例 创建一个包含两个值为 1、2、3 和 4,5,6 的数组的 2-D 数组:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr)
运行结果:
[[1 2 3] [4 5 6]]3-D 阵列
以二维数组(矩阵)作为其元素的数组称为三维数组。
这些通常用于表示三阶张量。
例 创建一个包含两个 2-D 数组的 3-D 数组,这两个数组都包含两个值为 1,2,3 和 4,5,6 的数组:
import numpy as np arr = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]]) print(arr)
运行结果:
[[[1 2 3] [4 5 6]] [[1 2 3] [4 5 6]]]查看数组维度
NumPy Arrays提供了一个属性ndim,该属性返回一个整数,该整数告诉我们数组有多少个维度。
例子:检查数组有多少个维度:
import numpy as np a = np.array(42) b = np.array([1, 2, 3, 4, 5]) c = np.array([[1, 2, 3], [4, 5, 6]]) d = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]]) print(a.ndim) print(b.ndim) print(c.ndim) print(d.ndim)
运行结果:
0 1 2 3高维数组
一个数组可以具有任意数量的维度。
创建数组时,可以使用参数ndmin定义维度数。
例 创建一个具有 5 个维度的数组,并验证它是否具有 5 个维度:
import numpy as np
arr = np.array([1, 2, 3, 4], ndmin=5)
print(arr)
print('number of dimensions :', arr.ndim)
运行结果:
[[[[[1 2 3 4]]]]] number of dimensions : 5



