Python 3 NumPy的详细指南

50 阅读5分钟

Python 3 NumPy简介

Python 3 NumPy 是一个数组库。它还提供了处理矩阵、傅里叶变换和线性代数领域的函数。Travis Oliphant在2005年建立了NumPy。我们可以免费使用它,因为它是开源的。Numerical python被缩写为NumPy。Numpy有很多特点,它是一个用于处理数组的Python库,可以用于各种任务。

什么是Python 3 NumPy?

  • 它是科学计算方面最重要的Python包。例如,NumPy可以对数组进行逻辑和数学运算。所以Python有一个叫NumPy的包。
  • NumPy经常与其他Python库(如SciPy和Matplotlib)结合使用。这种组合经常取代MatLab,一个流行的技术计算平台。另一方面,今天的Python被认为是比MatLab更现代和全面的编程语言。

为什么使用Python 3 NumPy?

  • 列表在python中类似于数组,尽管它们的处理速度较慢。NumPy打算提供一个比典型的Python列表更快的数组对象,最多可快50倍。
  • NumPy的数组对象被命名为ndarray,它配备了一系列的辅助函数,使其工作变得轻而易举。
  • 当资源和速度在数据研究中至关重要时,数组被广泛采用。

Python 3 NumPy安装

Numerical python是NumPy的缩略语。它是一个具有数组处理程序的多维数组对象库。

下面的步骤显示了在windows操作系统上安装python 3 NumPy。

  • 要在windows上安装NumPy,我们需要运行以下命令:
pip install numpy

Python 3 NumPy Installation

下面的例子显示了NumPy在Python数组中的应用,如下所示。

1.NumPy中的数组

它是一个有整数的表格,它的索引是一个同类项的表格。轴就是NumPy所说的维度。轴的等级决定了它们的数量。Ndarray是NumPy的数组类的名称。别名array也指的是它。下面的例子显示NumPy中的数组是这样的。

代码

import numpy as py_np
py_arr = py_np.array ( [[ 13, 29, 36],
                 [ 43, 25, 59]] )
print ("Array type: ", type(py_arr))
print ("Dimension: ", py_arr.ndim)
print ("Shape: ", py_arr.shape)
print ("Size : ", py_arr.size)
print ("Element type: ", py_arr.dtype)

Arrays in NumPy Python 3

2.通过使用NumPy创建数组

在NumPy中,我们可以通过各种方式来制作数组。例如,数组函数从传统的Python列表或元组中生成一个数组。数组元素最初经常是未知的,但其大小是已知的。因此,NumPy提供了许多函数用于创建具有占位符内容的数组。

这消除了建立数组的需要,这是一个昂贵的过程。NumPy有一个类似于range的函数,用于返回创建数字序列的数组。 linspace返回在区间内均匀分布的值。返回的元素数量为num。

接受顺序参数。'C'是默认值(对于行主要顺序)。下面的例子显示了用NumPy创建数组。

代码

import numpy as py_np
py1 = py_np.array ([[15, 29, 42], [51, 85, 73]], dtype = 'float')
print ("Array list:\n", py1)
py2 = py_np.array ((19 , 34, 27))
print ("\nArray tuple:\n", py2)
py3 = py_np.zeros ((31, 45))
print ("\nAn Array initialized :\n", py3)
py4 = py_np.full ((32, 36), 62, dtype = 'complex')
print ("\nAn array initialized :\n", py4)
py5 = py_np.random.random ((23, 26))
print ("\nA Array:\n", py5)
py6 = py_np.arange (10, 34, 52)
print ("\nA Sequential array :\n", py6)
py7 = py_np.linspace (20, 52, 16)
print ("\nA Sequential array", py7)
py_ar = py_np.array ([[18, 23, 37, 46],
                [55, 23, 48, 29],
                [74, 22, 10, 19]])
py_narr = py_ar.reshape (21, 24, 36)
print ("\nArray:\n", py_ar)
print ("Reshaped arr:\n", py_narr)
py_ar = py_np.array ([[31, 23, 38], [45, 57, 61]])
py_farr = py_ar.flatten ()
print ("\nArray:\n", py_ar)
print ("Fattened :\n", py_farr)

Array creation by using NumPy 1

Array creation by using NumPy 2

Array creation by using NumPy 3

3.使用NumPy进行数组索引

NumPy有几种对数组进行索引的方法。如果NumPy的数组被分片,类似于python中的列表。我们必须定义一个片断,因为数组可以是多维的。整数阵列索引 - 这种技术接受列表作为每个维度的输入。对相关元素进行一对一的映射,以创建一个新的任意数组。

当我们希望从一个数组中选择满足某个标准的条目时,我们利用布尔数组索引功能。下面的例子显示了通过使用NumPy进行数组索引。

代码

import numpy as py_np
py_arr = py_np.array([[-11, 23, 0, 43],
                [43, -0.5, 63, 0],
                [3.6, 0, 79, 83],
                [36, -72, 43, 8.0]])
py1 = py_arr[:2, ::2]
print ("Array :\n", py1)
py1 = py_arr[[0, 1, 2, 3], [3, 2, 1, 0]]
print ("\nElements :\n", py1)
py_con = py_arr > 0 
py1 = py_arr[py_con]
print ("\n Element:\n", py1)

Array indexing using NumPy in Python 3

4.使用Python 3 NumPy对单个数组的操作

我们可以利用重载的算术运算符来对一个数组执行元素明智的操作并构造一个新的数组。下面的例子显示,使用python 3 NumPy对单个数组的操作如下。

代码

import numpy as py_np
py1 = py_np.array([23, 29, 54, 36])
print ("Adding element:", py1+1)
print ("Subtracting element:", py1-3)

Operation on a single array

5.单元运算符

设置一个轴参数可以让我们逐行或逐列地应用这些函数。下面的例子显示,单项运算符如下。

代码

import numpy as py_np
py_arr = py_np.array([[14, 58, 65],
                [41, 76, 29],
                [32, 13, 98]])
print ("Large element:", py_arr.max())
print ("Max element:", py_arr.max(axis = 1))

Unary Operators Python 3 NumPy

6.二元运算符

这些操作被应用于数组的元素,结果是创建一个新的数组。所有基本的算术运算符,如+、-、/等等,都可以使用。当使用运算符+=、-=和=时,下面的例子显示二进制运算符如下。

代码

import numpy as py_np
py1 = np.array([[24, 39],
            [31, 46]])
py2 = np.array([[41, 37],
            [26, 19]])
print ("Sum:\n", py1 + py2)
print ("Multiplication:\n", py1 * py2)

Binary Operators

7.对数组进行排序

我们通过使用Python中的NumPy来进行排序方法。下面的例子显示了一个排序的数组。

代码

import numpy as py_np
py1 = py_np.array([[19, 42, 29],
                 [39, 45, 67]]),
print ("Sorted array", py_np.sort (py1, axis = None))

Sorting Array

总结

NumPy经常与其他Python库一起使用,如SciPy和Matplotlib。Numerical python被缩写为NumPy。Numpy有很多特点,它是一个处理数组的Python库,可以用来完成各种任务。