1. numpy模块概述
numpy是Python编程语言的一个扩展程序库,支持大量的维度数组与矩阵运算,同时对数组运算提供快速的数学函数库。numpy模块已经成为广泛使用的Python科学计算库。
安装numpy模块可以使用pip工具,命令如下:
pip install numpy
2. 数组创建和访问
2.1 创建数组
使用numpy模块创建数组可以使用numpy.array方法,该方法接受一个列表作为参数,返回一个numpy数组。
import numpy as np
arr = np.array([1,2,3,4,5])
print(arr)
输出结果为:
[1 2 3 4 5]
可以使用numpy的方法检查数组类型和元素类型:
import numpy as np
arr = np.array([1,2,3,4,5])
print(type(arr))
print(arr.dtype)
输出结果为:
int64
数组元素类型可通过dtype参数创建指定类型的数组:
import numpy as np
arr = np.array([1,2,3,4,5], dtype="f")
print(arr.dtype)
输出结果为:
float32
2.2 访问元素
简单的numpy数组索引和访问方式与Python列表一样。
import numpy as np
arr = np.array([1,2,3,4,5])
print(arr[3])
输出结果为:
4
3. 数组操作
3.1 形状/尺寸操作
可以使用numpy的reshape方法改变数组的形状。
import numpy as np
arr = np.array([1,2,3,4,5,6])
print(arr)
new_arr = arr.reshape(2,3)
print(new_arr)
输出结果为:
[1 2 3 4 5 6]
[[1 2 3]
[4 5 6]]
数组的最大/最小值可以使用numpy的min和max方法得到。
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
print(arr.max())
print(arr.min())
输出结果为:
6
1
3.2 基本运算
可以使用数组进行运算。元素与元素之间的运算,只需对数组对象进行运算符操作即可。
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([6, 7, 8, 9, 10])
new_arr = arr1 + arr2
print(new_arr)
输出结果为:
[ 7 9 11 13 15]
4. 高级操作
4.1 广播机制
广播是numpy在执行算术运算时使用的一组规则。
广播允许具有不同形状的数组进行算术运算。
numpy对数组进行广播的方式是向低等级的维度中添加新维度。
例如,可以用以下方式对 numpy 广播:
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([[6], [7], [8], [9], [10]])
new_arr = arr1 + arr2
print(new_arr)
输出结果为:
[[ 7 8 9 10 11]
[ 8 9 10 11 12]
[ 9 10 11 12 13]
[10 11 12 13 14]
[11 12 13 14 15]]
4.2 索引与切片
与Python列表不同的是,numpy数组支持一些高级索引和切片操作。
例如,可以在numpy数组中访问多维数组的单个元素。
import numpy as np
arr = np.array([[1,2], [3,4], [5,6]])
print(arr[0,0])
输出结果为:
1
5. 小结
在本文中,我们介绍了numpy模块的基本操作和高级操作,包括创建和访问数组,元素的运算,高级操作中的广播机制和索引/切片操作。
numpy是Python编程语言的一个扩展程序库,它支持大量的维度数组与矩阵运算,同时对数组运算提供了快速的数学函数库。numpy模块已经成为广泛使用的Python科学计算库。
在使用numpy模块进行数值计算时,要注意数据类型和数组形状的转换。