NumPy 操作2024年8月29日 | 阅读 10 分钟 Python 的 NumPy 包代表“Numerical Python”。该逻辑计算包包含一个高效的 N 维数组对象,并提供链接 C、C++ 和其他编程语言的设施。此外,它还有助于任意数字容量、基于线性代数的数学以及其他主题。NumPy 数组可以作为强大的多维容器用于通用数据。Python 数组:NumPy 数组是由行和列组成的健壮的 N 维对象。我们可以使用嵌套的 Python 列表来访问其元素并初始化 NumPy 数组。在结构层面,NumPy 数组由以下组合构成:
NumPy 基础全 1 数组根据给定的参数创建一个 NumPy 数组,所有元素都为 1。 代码 输出 [[1. 1. 1.] [1. 1. 1.]] 全 0 数组此函数返回一个 NumPy 数组,所有条目都设置为 0,维度与指定的相同。 代码 输出 [[0. 0. 0.] [0. 0. 0.]] 这些函数很简单,可以用来创建各种计算目的经常需要的示例数组。 Eye现在我们来检查 eye 方法的工作原理。此函数的输出是一个包含对角线上为 1,其他地方为 0 的二维数组。 代码 输出 [[1. 0. 0. 0.] [0. 1. 0. 0.] [0. 0. 1. 0.] [0. 0. 0. 1.]] 类似地,diag() 方法构建一个二维数组,所有其他元素都设置为零,并且作为参数传递给函数的项被设置为对角线元素。 代码 输出 array([[78, 0, 0], [ 0, 56, 0], [ 0, 0, 89]]) Vstack() 和 Hstack()我们可以使用 vstack() 函数垂直堆叠两个数组,并使用 hstack() 水平堆叠两个或多个数组。让我们通过几个例子来练习。 代码 输出 Vertically stacked: [[2 3 4 5] [4 3 5 3] [6 3 5 2] [8 2 5 8]] Horizontally stacked: [[2 3 4 5 6 3 5 2] [4 3 5 3 8 2 5 8]] NumPy 数组上的运算算术运算代码 输出 First Array: [[0. 1. 2.] [3. 4. 5.] [6. 7. 8.]] Second array: [[11. 12. 13.] [14. 15. 16.] [17. 18. 19.]] Adding two arrays: [[11. 13. 15.] [17. 19. 21.] [23. 25. 27.]] Subtracting two arrays: [[-11. -11. -11.] [-11. -11. -11.] [-11. -11. -11.]] Multiplying two arrays: [[ 0. 12. 26.] [ 42. 60. 80.] [102. 126. 152.]] Dividing two arrays: [[0. 0.08333333 0.15384615] [0.21428571 0.26666667 0.3125 ] [0.35294118 0.38888889 0.42105263]] numpy.reciprocal()此方法返回参数的逐元素倒数。当一个元素的绝对值大于 1 时,结果始终为 0,并且对于整数 0 会显示溢出警告。 代码 输出 The array is: [23. 14. 63.9 23.5 23.7 13. 7. ] After applying the reciprocal function array is: [0.04347826 0.07142857 0.01564945 0.04255319 0.04219409 0.07692308 0.14285714] The second array is: [24] After applying the reciprocal function the array is: [0] numpy.power()此函数将原始数组的元素视为指数语法的基数,然后将它们提高到第二个数组参数中提供的相邻元素的幂。 代码 输出 The original array is: [3 5 2] Applying the numpy power function: [ 9 25 4] The second array is: [2 4 5] Applying the numpy power function: [ 9 625 32] numpy.mod()此函数返回输入数组中对应元素的除法余数。numpy.remainder() 函数也产生相同的结果。 代码 输出 The original array: [ 5 10 15] The array for diving the original array: [2 4 5] Applying the numpy mod function: [1 2 0] Applying the numpy remainder function: [1 2 0] 以下函数用于对具有复数的数组执行运算。 numpy.real() ? 此函数返回给定复数参数的实部。 numpy.imag() ? 此函数返回复数参数的虚部。 numpy.conj() ? 此函数返回给定复数参数的复共轭。它通过交换虚部的符号来获得。 numpy.angle() ? 此函数返回给定复数参数的角度。该函数有一个名为 degree 的参数。如果设置为 true,则函数将以度为单位返回角度;否则,角度将以弧度为单位返回。 代码 输出 Our complex array is: [-0.-6.6j 0.+0.9j 14.+0.j 1.+9.j ] Applying the numpy real function: [-0. 0. 14. 1.] Applying the numpy imag function: [-6.6 0.9 0. 9. ] Applying the numpy conj function: [-0.+6.6j 0.-0.9j 14.-0.j 1.-9.j ] Applying the numpy angle function: [-1.57079633 1.57079633 0. 1.46013911] Applying the numpy angle function again (result in degrees) [-90. 90. 0. 83.65980825] 在条件表达式中使用 NumPy 数组要识别满足您标准的数值,请使用条件。条件运算条件的结果也是一个 NumPy 数组,因为“数组”也是一个 NumPy 数组。我们的条件检查会产生一个包含布尔值的数组作为结果。 代码 输出 [False True False False True True False] [30 53 54] [30 53 54] numpy.dot()我们将从两个参数都是标量或一维数组的情况开始。 代码 输出 12 Dimensions of a: 1 The dot product of [3] and [4] is: 12 The dot product of [ 4 -3] and [-6 3] is: -33 逻辑运算符"or" 和 "and" 逻辑运算符也逐元素应用于 NumPy 数组。为此,我们可以使用 numpy logical_or 和 logical_and 方法。 代码 输出 After or operation: [[ True True] [ True False]] After and operation: [[False False] [ True False]] 实现不同形状数组上的运算到目前为止,我们已经处理了两个不同的实例,使用了 "+" 或 "*" 等简单运算。
下一节将演示,即使数组的形状不同,我们仍然可以应用运算符。但只有在特定情况下它才能起作用。 广播得益于 NumPy 强大的广播技术,可以对不同维度的数组进行算术运算。这意味着我们取一个较大维度的数组和一个较小维度的数组,然后将较小维度的数组转换为或扩展到较大维度的数组多次以执行运算。换句话说,较小的数组有时可以被“广播”以使其具有与较大数组相同的维度。 在我们的 Python 软件中,广播可以帮助我们避免循环。在基于 C 的 NumPy 实现中,迭代是隐式发生的。此外,我们还可以避免复制数据。 一个简单的例子用来说明广播的操作原理。 代码 输出 arr1: [[3 2 4] [1 3 2] [5 3 3]] arr2: [2 2 2] Multiplication using broadcasting: [[ 6 4 8] [ 2 6 4] [10 6 6]] Addition using broadcasting: [[5 4 6] [3 5 4] [7 5 5]] 距离矩阵几何学中的距离矩阵是一个矩阵或二维数组,它存储一个集合中成员之间的距离,这些成员是成对取样的,存在于数学、计算机科学,特别是图论中。如果集合有 n 个元素,则此二维数组的大小为 n x n。 一个连接坐标(在此例中是字母)到一个假设点的距离矩阵 代码 输出 [12 14 13 18 18 16 69 12 23 24 10 45] [[ 0 2 1 6 6 4 57 0 11 12 2 33] [ 2 0 1 4 4 2 55 2 9 10 4 31] [ 1 1 0 5 5 3 56 1 10 11 3 32] [ 6 4 5 0 0 2 51 6 5 6 8 27] [ 6 4 5 0 0 2 51 6 5 6 8 27] [ 4 2 3 2 2 0 53 4 7 8 6 29] [57 55 56 51 51 53 0 57 46 45 59 24] [ 0 2 1 6 6 4 57 0 11 12 2 33] [11 9 10 5 5 7 46 11 0 1 13 22] [12 10 11 6 6 8 45 12 1 0 14 21] [ 2 4 3 8 8 6 59 2 13 14 0 35] [33 31 32 27 27 29 24 33 22 21 35 0]] 下一主题Sklearn Ensemble |
Python 中的元组是什么?元组是一系列不可变的、有序的项。由于元组和 Python 列表都是序列,因此它们是相似的。然而,元组和列表不同,因为我们不能编辑元组;但是,我们可以在初始化列表后更改它们。此外,我们构建元组...
5 分钟阅读
什么是 OS 模块?在 Python 编程语言中,我们有一个 OS 模块,用于执行与操作系统相关的各种操作。它有许多内置函数,我们无需安装此模块。路径是...
阅读 3 分钟
西尔维斯特序列以著名数学家詹姆斯·约瑟夫·西尔维斯特的名字命名,是一个迷人的数学序列,它遵循一个另类简单但有趣的规则。这个序列来源于一个特殊的递归关系,在数学和计算机技术科学中有各种应用。在本文中,...
阅读 4 分钟
在本文中,我们将介绍将 Kaggle 数据集导入 Google Colab 的过程。入门:在本节中,我们将介绍两种不同的方法来开始使用 Colab。第一种方法是,我们将通过 Kaggle API 下载数据集,然后...
阅读 3 分钟
NumPy,简称 Numerical Python,是 Python 中进行数值和科学计算的基础库之一。它最强大的特性之一是通用函数(通常称为“ufuncs”)的概念。NumPy 中的 Ufuncs 允许对数组进行高效的逐元素操作,使其成为...
阅读 6 分钟
文字编程总是与文字错误相关联,因为我们在编码时遇到错误是非常普遍的。错误对于所有程序员来说都非常普遍,这不仅仅是初学者才会遇到的。即使是编码多年的程序员...
阅读 13 分钟
确定星座 一旦我们有了用户的出生日期,我们就可以继续确定他们的星座。程序逻辑将使用预定义的每个星座的日期范围与提供的日期进行比较。例如,我们可以推断用户是...
阅读 4 分钟
用户调用析构函数来销毁对象。在 Python 中,开发人员可能不像在 C++ 语言中那样需要析构函数。这是因为 Python 有一个垃圾收集器,其功能是自动处理内存管理。在本文中,我们将讨论...
阅读 3 分钟
C 与 C++ 与 Python 与 Java 程序已成为我们日常生活中不可或缺的一部分。一切现在都通过物联网数字化和连接。C、C++、Java 和 Python 在大多数流行编程语言排行榜中仍然名列前茅...
7 分钟阅读
机器学习中的线性回归模型用于预测属性的未来值。在此模型中,我们有特定的独立属性,也称为预测变量。模型接受这些预测变量,将直线拟合到数据,并为我们提供一个模型...
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India