一、何为numpy库
NumPy是Python里面最重要的基础性库之一,可以让Python支持大量的高端数值计算,是科学计算和数据分析领域的必备工具。NumPy用来存储和处理大型矩阵和数组,提供接口,让用户可以在它们的上面进行数值运算。
NumPy的安装十分方便,使用pip就可以安装。在命令行中输入如下命令,即可完成安装。
pip install numpy
安装完成后,在Python文件中使用import语句进行调用NumPy。
import numpy as np
二、NumPy中的基础数据类型
NumPy的基础数据类型是ndarray,即n维数组,是一个表格类型的数据结构,它里面存储了大量的数值数据。ndarray有三个非常重要的属性:shape、dtype和size。shape代表数组的维度,可以是一维,二维等等;dtype代表数组中的元素类型;size表示数组中含有的元素个数。
以下是创建ndarray的几个方法。
1、直接创建
# 首先需要导入numpy模块 import numpy as np # 定义一维数组 arr1 = np.array([1, 2, 3, 4, 5]) # 定义二维数组 arr2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
2、使用特定的函数
# 创建一个全零的3x3矩阵 zeros = np.zeros((3,3)) # 创建一个全1的5个元素的一维数组 ones = np.ones(5) # 创建单位矩阵 eye = np.eye(3)
三、NumPy中的数组计算
NumPy提供了非常丰富的数组计算功能。数组之间的计算可以使用基本的算术运算符(如 +、-、*、/),而且可以对数组中的每个元素进行计算。
以下是几个对数组进行计算的示例。
1、逐元素计算
import numpy as np arr1 = np.array([1, 2, 3, 4, 5]) arr2 = np.array([2, 4, 6, 8, 10]) # 逐元素相加 result = arr1 + arr2 # 逐元素相减 result = arr2 - arr1 # 逐元素相乘 result = arr1 * arr2 # 逐元素相除 result = arr2 / arr1
2、数学计算函数
NumPy还提供了很多数学计算函数,可以直接进行调用。以下是一些常见的数学计算函数。
import numpy as np # 求平方根 result = np.sqrt(arr1) # 求正弦值 result = np.sin(arr1) # 求反正切值 result = np.arctan(arr1) # 求指数 result = np.exp(arr1) # 求自然对数 result = np.log(arr1)
四、NumPy数组的索引和切片操作
NumPy数组的索引和切片操作跟Python的列表非常相似。ndarray对象是基于多维数组的,所以需要用方括号来指定每个维度的索引。同时,可以使用切片操作来获取数组中的部分数据。
以下是一些示例代码。
1、对一维数组进行索引和切片操作
import numpy as np arr1 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]) # 获取第3个元素 print(arr1[2]) # 输出3 # 获取第2到4个元素(不包括第4个) print(arr1[1:3]) # 输出[2 3] # 获取第一个到倒数第二个元素(不包括倒数第一个) print(arr1[:-1]) # 输出[1 2 3 4 5 6 7 8]
2、对二维数组进行索引和切片操作
import numpy as np arr2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 获取第2行第3列的元素 print(arr2[1, 2]) # 输出6 # 获取第1行的所有元素 print(arr2[0, :]) # 输出[1 2 3] # 获取第2和第3行的所有元素 print(arr2[1:, :]) # 输出[[4 5 6] [7 8 9]]
五、NumPy中的矩阵运算
NumPy还提供了大量的矩阵运算功能,可以使用dot()函数来进行矩阵乘法的运算。在使用此函数之前,需要保证两个矩阵的行列数正确才能进行乘法运算。
以下是一些示例代码。
1、进行矩阵乘法运算
import numpy as np arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([[7, 8], [9, 10], [11, 12]]) # 进行乘法运算 result = np.dot(arr1, arr2) print(result) # 输出[[ 58 64] # [139 154]]
2、进行矩阵的转置
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) # 进行转置 result = arr.T print(result) # 输出[[1 4] # [2 5] # [3 6]]
六、总结
本文简单介绍了NumPy的基础知识,包括了NumPy库的定义和作用、ndarray数组的属性和创建方法、数组的计算、数组的索引和切片操作、以及矩阵的运算。对于初学者来说,这些基础知识是非常重要的,是使用NumPy进行科学计算和数据分析的前置知识。