详细介绍python的numpy模块

1. 简介

NumPy(Numerical Python)是一个开源的Python科学计算库,它主要提供多维数组(Numpy Array)类型和一系列操作这些数组的函数,可以说在Python的科学计算中是非常重要的一个库。

2. 安装

安装Numpy主要有两种方式,一是通过pip安装,二是通过Anaconda安装。可以根据自己的需要选择适合自己的安装方式。

2.1 pip安装

pip install numpy

2.2 Anaconda安装

如果你用的是Anaconda,Numpy已经预装在Anaconda中了,可以直接使用。

3. 基本使用

在使用Numpy之前,需要先将它引入:

import numpy as np

下面就来介绍一下Numpy的基本用法。

3.1 创建数组

Numpy的核心就是多维数组,用它可以处理多维数据。创建数组的方法主要有以下几种:

通过列表创建一维数组

通过列表创建二维数组

通过numpy中的函数创建数组

下面分别介绍。

3.1.1 通过列表创建一维数组

可以通过python中的list创建一维数组:

a = [1, 2, 3, 4]

arr_a = np.array(a)

print(arr_a)

运行上面的代码会输出如下结果:

[1 2 3 4]

arr_a就是创建的一维数组。

3.1.2 通过列表创建二维数组

可以通过二维列表创建二维数组:

b = [[1, 2], [3, 4]]

arr_b = np.array(b)

print(arr_b)

运行上面的代码会输出如下结果:

[[1 2]

[3 4]]

arr_b就是创建的二维数组。

3.1.3 通过numpy中的函数创建数组

在Numpy中,还提供了一些函数可以用来创建数组:

zeros

ones

full

eye

接下来分别介绍。

3.1.3.1 zeros函数

zeros函数用来创建一个全为0的数组:

arr_zeros = np.zeros((2, 3))

print(arr_zeros)

输出结果如下:

[[0. 0. 0.]

[0. 0. 0.]]

3.1.3.2 ones函数

ones函数用来创建一个全为1的数组:

arr_ones = np.ones((2, 3))

print(arr_ones)

输出结果如下:

[[1. 1. 1.]

[1. 1. 1.]]

3.1.3.3 full函数

full函数用来创建一个指定值的数组:

arr_full = np.full((2, 3), 5)

print(arr_full)

输出结果如下:

[[5 5 5]

[5 5 5]]

3.1.3.4 eye函数

eye函数用来创建一个单位矩阵:

arr_eye = np.eye(3)

print(arr_eye)

输出结果如下:

[[1. 0. 0.]

[0. 1. 0.]

[0. 0. 1.]]

3.2 数组属性

创建数组之后可以获取数组的相关属性,比如数组的形状、类型和维度等:

ndim:获取数组的维度

shape:获取数组的形状

size:获取数组的元素数量

dtype:获取数组元素的类型

a = [[1, 2], [3, 4]]

arr_a = np.array(a)

print(arr_a.ndim) # 输出2,表示二维

print(arr_a.shape) # 输出(2, 2),表示有2行2列

print(arr_a.size) # 输出4,表示有4个元素

print(arr_a.dtype) # 输出int64,表示元素类型为64位整型

3.3 切片操作

在Numpy中,可以对数组进行切片操作,类似于Python中的切片。

3.3.1 一维数组切片

a = [1, 2, 3, 4]

arr_a = np.array(a)

print(arr_a[1:3])

运行上面代码会输出如下结果:

[2 3]

3.3.2 二维数组切片

b = [[1, 2], [3, 4], [5, 6]]

arr_b = np.array(b)

print(arr_b[1:, 1])

运行上面代码会输出如下结果:

[4 6]

3.3.3 布尔索引切片

也可以通过布尔索引来进行切片:

a = [1, 2, 3, 4]

arr_a = np.array(a)

print(arr_a[arr_a > 2])

运行上面代码会输出如下结果:

[3 4]

3.4 数组运算

Numpy支持数组之间的加、减、乘、除等运算。具体用法如下:

a = np.array([1, 2, 3])

b = np.array([4, 5, 6])

print(a + b) # 输出[5 7 9]

print(a - b) # 输出[-3 -3 -3]

print(a * b) # 输出[ 4 10 18]

print(a / b) # 输出[0.25 0.4 0.5 ]

3.5 数组变形

可以通过reshape方法将一个数组转换成指定形状的数组:

a = np.array([1, 2, 3, 4, 5, 6])

b = a.reshape((2, 3))

print(b)

输出结果如下:

[[1 2 3]

[4 5 6]]

4. 总结

以上就是Numpy的基本用法,它也有很多高级用法,可以自行去官网查找。Numpy提供了很多数组的操作函数,在科学计算中有着非常重要的作用。

后端开发标签