Python中的numpy库详解

1. Numpy简介

Numpy是Python的一个开源的科学计算库,它提供了许多高级数学和统计函数,可以用来对数组进行计算、操作和处理。Numpy提供了一个强大的N维数组对象、矩阵计算和线性代数工具等,并具有广泛的应用。

2. 安装numpy库

2.1 Windows环境下安装

在Windows环境下安装numpy,可以使用Python的包管理器pip在命令行中输入:

pip install numpy

如果需要使用之前的版本,在安装的时候可以在包名后加上等号和版本号,例如 下载并安装numpy 1.13.3 版本

pip install numpy==1.13.3

2.2 Linux环境下安装

在Linux环境下安装numpy,可以使用以下命令行输入:

sudo apt-get install python-numpy

3. Numpy常用功能

3.1. 创建Numpy数组

Numpy数组是一种强大的数据结构,它允许您在单个变量中存储多个值。以下是一些用于创建Numpy数组的方法:

3.1.1 使用Numpy对Python列表进行操作

可以利用Python列表创建Numpy数组,方法如下:

import numpy as np

a_list = [1, 2, 3]

a_numpy_array = np.array(a_list)

print(a_numpy_array)

这里,可以使用np.array()函数将Python列表转换为Numpy数组,并且可以直接使用print()函数打印Numpy数组:

[1 2 3]

3.1.2 创建Numpy数组

利用numpy提供的函数,也可以直接创建numpy数组。

import numpy as np

#创建一维numpy数组

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

print(a)

#创建二维numpy数组

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

print(b)

这里,numpy提供的函数有array()、arange()等,不同的函数具有不同的功能和参数,可以根据需要选择使用。

3.2. Numpy数组的属性

在Numpy中,数组有一些常用的属性,可以使用以下代码获取:

import numpy as np

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

#查看数组的维度

print(a.ndim)

#查看数组的形状(行数,列数)

print(a.shape)

#查看数组的元素个数

print(a.size)

3.3. Numpy数组的切片和索引

在Numpy中,对数组进行切片和索引通常需要用到冒号(:)操作符,可以以以下方式进行操作:

3.3.1. 切片

import numpy as np

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

print(a[:2, 1:3])

这里,可以使用切片索引选取数组的一个子集:

[[2 3]

[5 6]]

3.3.2. 索引

import numpy as np

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

print(a[1, 2])

这里,可以使用索引选取数组的某个元素,注意索引从0开始:

6

3.4. Numpy数组的运算

在Numpy中,可以使用运算符和函数对数组进行运算,例如:

3.4.1. 数组的加法和减法

import numpy as np

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

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

print(a + b)

print(a - b)

数组间的加法和减法,可以使用 + 和 - 运算符,需要注意的是两个数组的形状必须相同:

[[ 6 8]

[10 12]]

[[-4 -4]

[-4 -4]]

3.4.2. 数组的数字运算和乘法

import numpy as np

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

print(a * 2)

print(a / 2)

print(a % 2)

print(a ** 2)

数组和数字的运算,可以使用 *、/、% 和 ** 运算符:

[[2 4]

[6 8]]

[[0.5 1. ]

[1.5 2. ]]

[[1 0]

[1 0]]

[[ 1 4]

[ 9 16]]

3.5. Numpy的广播

广播是一种Numpy高级操作,允许您对不同大小的数组进行操作。在广播中,Numpy将自动调整较小的数组,使其与较大的数组具有相同的形状。

import numpy as np

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

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

print(a * b)

这里,可以使用广播进行对数组的运算:

[ 4 10 18]

4. 总结

本文介绍了Numpy库以及其常用功能,包括创建Numpy数组、查看数组属性、数组切片和索引、数组运算以及广播等。使用Numpy库可以为Python程序提供高效的数据结构和许多数学操作,尤其适用于科学计算和大规模数据处理。

后端开发标签