一.认识NumPy数组对象
NumPy中最重要的一个特点就是其N维数组对象,即ndarray(别名array)对象,该对象可以执行一些科学计算。
二.创建Numpy数组
1.一维数组
import numpy as np
arr1=np.array([1,2,3])
2.二维数组
import numpy as np
arr2=np.array([[1,2,3],[4,5,6]])
3.zeros函数创建元素值为0的数组
np.zeros((3, 4))
4.通过arange函数创建一个等差数组
np.arange(1, 20, 5)
三.查看数据类型
ndarray.dtype可以创建一个表示数据类型的对象,如果希望获取数据类型的名称,则需要访问name属性进行获取。
data_one = np.array([[1, 2, 3], [4, 5, 6]]) data_one.dtype.name
四.数组运算
1.矢量化运算
形状相等的数组之间的任何算术运算都会应用到元素级,即只用于位置相同的元素之间,所得的运算结果组成一个新的数组。
2.广播机制
当形状不相等的数组执行算术计算的时候,就会出现广播机制,该机制会对数组进行扩展,使数组的shape属性值一样,这样就可以进行矢量化运算了
3.数组与标量运算
标量运算会产生一个数组具有相同的行和列的新矩阵,其原始矩阵的每个元素都被相加,相减,相乘或者相除。
五.索引和切片
1.一维数组
arr=np.arange(8)
# 获取索引为5的元素
arr[5] #
获取索引为3~5的元素,但不包括5 arr[3:5]
2.多维数组
多维数组的每一个维度都有一个索引,各个维度之间逗号隔开
arr=np.arange(10*10,dtype=int).reshape(10,10)
print('创建二维数组为:n',arr)
3.如果想获取二维数组的单个元素,则需要通过形如“arr[x,y]”的索引来实现,其中x表示行号,y表示列
# 获取位于第0行第1列的元素
arr2d[0, 1]
# 获取位于第0行第1列的元素 arr2d[0, 1]
arr2d[0:2, 0:2]
切片与整数索引混合使用的示例
arr2d[1, :2]
本章小结:本章主要针对科学计算库NumPy进行了介绍,包括ndarry数组对象的属性和数据类型、数组的运算、索引和切片操作、数组的转置和轴对称、NumPy通用函数、线性代数模块、随机数模块以及使用数组进行数据处理的相关操作。 通过本章的学习,希望大家能熟练使用NumPy包,为后面章节的学习奠定基础。



