Python NumPy 教程:通过示例学习 Python Numpy
已发表: 2020-03-24如果您已经学习 Python 一段时间,那么您一定遇到过 NumPy。 你一定想知道它是什么以及为什么它如此重要。 在这个Python Numpy 教程中,您将了解相同的内容。 您将了解 NumPy 以及 NumPy 数组及其函数。
对于现代程序员来说,掌握 Python 是必要的。 这个 Python NumPy 教程将帮助您更好地理解 Python。 它非常详细,因此我们建议将此页面添加到您的书签中以供将来参考。
学习世界顶尖大学的数据科学在线课程。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。
目录
什么是 Python NumPy?
NumPy 代表“数字 Python”。 正如您已经猜到的那样,它专注于数值运算和计算。 Numpy 是一个 Python 包,是科学计算的主要库。 它具有 n 维数组对象和工具来集成其他主要语言(例如 C)。您可以将 NumPy 数组用作数据的巨大多维容器。
什么是 NumPy 数组?
NumPy 数组是一个奇妙的 n 维数组对象。 它有行和列,您可以使用它来访问 Python 列表的元素。 您可以对 NumPy 数组执行许多操作。 我们在本文后面讨论了它们,但在此之前,您必须了解如何在系统中安装 NumPy。 如果不安装它,您将无法使用它。
如何安装 NumPy?
您必须转到命令提示符并输入“pip install numpy”来安装 Python NumPy。 安装完成后,您必须转到 IDE 并通过“import numpy as np”导入 numpy。 这就是您在系统上安装 Numpy 的方式。
您可以通过以下代码在 NumPy 中轻松创建数组:
1 将 numpy 导入为 np
2 a=np.array([1,2,3])
3 打印(一)
上述代码的输出 - [1 2 3]
上面的代码会给你一个一维数组。 如果要创建多维数组,则必须编写类似于以下示例的内容:
1 a=np.array([(1,2,3),(4,5,6)])
2 打印(一)
上述代码的输出 - [[ 1 2 3]
[4 5 6]]
阅读更多:为初学者准备的 25 个令人兴奋的 Python 项目创意和主题
NumPy 中的操作
Python NumPy 有很多操作。 它们都执行特定的功能。 以下是这些功能的简要说明:
物品尺寸:
借助此函数,您可以找出数组元素的字节大小。 看看下面的例子:
1 将 numpy 导入为 np
2 a = np.array([(1,2,3)])
3 打印(a.itemsize)
上述代码的输出 - 4
ndim:
ndim 函数可帮助您找到数组的维度。 您应该知道您可以拥有一维、二维以及三维数组。 下面是这个函数的一个例子:
1 将 numpy 导入为 np
2 a = np.array([(1,2,3),(4,5,6)])
3 打印(a.ndim)
上述代码的输出 - 2
重塑:
借助重塑操作,您可以更改数组中存在的行数和列数。 假设一个数组有三列两行。 通过重塑,您可以将它们更改为 2 列和 3 行。 通过以下示例查看它的实际效果:
1 将 numpy 导入为 np
2 a = np.array([(8,9,10),(11,12,13)])
3 打印(一)
4 a=a.reshape(3,2)
5 打印(一)
上述代码的输出 - [[ 8 9 10] [11 12 13]] [[ 8 9] [10 11] [12 13]]
切片:
通过使用切片操作,您可以从所需的数组中提取一组特定的元素。 换句话说,您可以“切片”数组并获得其中的一部分。 假设您有一个数组并想从中提取特定元素,您将按以下方式进行操作:
1 将 numpy 导入为 np
2 a=np.array([(1,2,3,4),(3,4,5,6)])
3 打印(a[0,2])
上述代码的输出 - 3
在上面的示例中,第一个数组的索引为 0,而第二个数组的索引为 1。因此,代码说明它应该打印第一个数组的第二个元素(索引为 0)。 假设您需要数组的第一个和第零个索引中的第二个元素。 然后我们将使用以下代码:
1 将 numpy 导入为 np
2 a=np.array([(1,2,3,4),(3,4,5,6)])
3 打印(a[0:,2])
上述代码的输出——[3 5]
另请阅读:印度的 Python 开发人员薪水
数据类型:
使用 dtype 函数,您可以选择查找数组元素的数据类型。 它为您提供所需组件的数据类型和大小。 看看下面的例子,看看它是如何工作的:
1 将 numpy 导入为 np
2 a = np.array([(1,2,3)])
3 打印(a.dtype)
上述代码的输出——int32
您也可以使用“形状”和“大小”函数来查找数组的形状和大小。 看看我们的 Python NumPy 教程的这个例子,以正确理解这些函数:
1 将 numpy 导入为 np
2 a = np.array([(1,2,3,4,5,6)])
3 打印(a.size)
4 打印(a.shape)
上述代码的输出 - 6 (1,6)
林空间:
在 linspace 操作的帮助下,您可以根据您提到的间隔获得均匀分布的数字。 linspace 函数有其用途,下面是一个如何使用它的示例:
1 将 numpy 导入为 np
2 a=np.linspace(1,3,10)
3 打印(一)

上述代码的输出 - [ 1. 1.22222222 1.44444444 1.66666667 1.88888889 2.11111111 2.33333333 2.55555556 2.77777778 3. ]
平方根和标准差
Python NumPy 使您能够执行各种数学运算。 其中一项操作是求出所需数组的平方根。 您还可以获得 NumPy 数组的标准差。 这是一个详细的示例,可以在这方面为您提供帮助:
1 将 numpy 导入为 np
2 a=np.array([(1,2,3),(3,4,5,)])
3打印(np.sqrt(a))
4打印(np.std(a))
上述代码的输出——[[ 1. 1.41421356 1.73205081]
[1.73205081 2.2.23606798]]
1.29099444874
最大/分钟
也可以通过具体操作求出数组的最大值、最小值、和。 找到最大值和最小值可以帮助您执行复杂的操作。 以下是如何找到您拥有的数组的最大值、最小值和总和的方法:
1 将 numpy 导入为 np
2 a= np.array([1,2,3])
3 打印(a.min())
4打印(a.max())
5打印(a.sum())
上述代码的输出 - 1 3 6
水平和垂直堆叠
您可能想要组合两个数组但不添加它们,即您可能只想连接它们。 为此,您可以垂直或水平堆叠它们。 这是执行此操作的示例代码:
1 将 numpy 导入为 np
2 x= np.array([(1,2,3),(3,4,5)])
3 y= np.array([(1,2,3),(3,4,5)])
4打印(np.vstack((x,y)))
5打印(np.hstack((x,y)))
上述代码的输出 - [[1 2 3] [3 4 5] [1 2 3] [3 4 5]]
[[1 2 3 1 2 3] [3 4 5 3 4 5]]
阅读更多: Python 中的运算符:算术初学者指南
添加
您也可以添加 NumPy 数组。 除了加法之外,您还可以执行两个矩阵的减法、除法和乘法运算。 以下是 Python NumPy 中的加法示例:
1 将 numpy 导入为 np
2 x= np.array([(1,2,3),(3,4,5)])
3 y= np.array([(1,2,3),(3,4,5)])
4 打印(x+y)
上述代码的输出 - [[ 2 4 6] [ 6 8 10]]
就像我们之前提到的,您也可以对 NumPy 数组执行其他数学运算,包括减法和除法。 这是如何做:
1 将 numpy 导入为 np
2 x= np.array([(1,2,3),(3,4,5)])
3 y= np.array([(1,2,3),(3,4,5)])
4 打印(xy)
5 打印(x*y)
6 打印(x/y)
上述代码的输出——[[0 0 0] [0 0 0]]
[[ 1 4 9] [ 9 16 25]]
[[ 1. 1. 1.] [ 1. 1. 1.]]
拉威尔
ravel 操作可让您将 NumPy 数组转换为单列的 ravel。 这是一个例子:
1 将 numpy 导入为 np
2 x= np.array([(1,2,3),(3,4,5)])
3打印(x.ravel())
代码的输出 - [ 1 2 3 3 4 5]
结论
我们确信您已经发现这个 Python NumPy 教程内容丰富。 到目前为止,您已经了解 Python NumPy 是什么以及它的功能是什么。 如果您对此主题有任何疑问,请随时告诉我们。
如果您想了解数据科学,请查看 IIIT-B 和 upGrad 的数据科学执行 PG 计划,该计划是为在职专业人士创建的,提供 10 多个案例研究和项目、实用的实践研讨会、与行业专家的指导、1与行业导师一对一,400 多个小时的学习和顶级公司的工作协助。
NumPy 在 Python 中有什么用?
NumPy 是一个广泛使用的库,用于在 Python 中处理数组。 NumPy 中的某些函数还可以让您在矩阵、傅里叶变换和线性代数领域工作。
列表在 Python 中用于服务于数组的目的。 这里唯一的缺点是它们的处理速度很慢。 NumPy 能够提供一个数组对象,与传统的 Python 列表相比,它的速度要快 50 倍。 NumPy 中的数组对象提供了各种支持功能,以使其工作更加简单和容易。 每当谈到数据科学的速度和资源时,都会考虑数组,这就是 NumPy 发挥作用的时候。
学习 NumPy 的最佳方法是什么?
当涉及在 Python 中运行的基本包时,NumPy 包含在列表中。 NumPy 是 Python 中的一个知名库,因为它具有几个动态特性,例如高级语法、Python 的灵活性以及编译代码的速度、数值计算工具等等。
当你开始学习 NumPy 的时候,最好通过一些在线教程,阅读 NumPy 官方文档。 这将有助于在您转向高级概念之前奠定基础知识。 稍后,您可以使用其他资源,例如 YouTube 教程,甚至参加课程以深入了解如何在 Python 中使用 NumPy。
NumPy 数组更快还是列表?
众所周知,NumPy 数组是传统 Python 列表的更快替代方案。 无论您希望对数据执行什么操作,您都会发现 NumPy 数组比列表准确得多。
随着数组大小的增加,NumPy 的速度比 Python 列表快 30 倍。 因此,即使您执行简单的删除操作,您也会注意到 NumPy 数组的速度很快。 由于 NumPy 数组由于其同类类型而密集打包,因此它也倾向于更快地清除内存。