一、模块准备:
import numpy as np
二、创建数组(矩阵):
1、通过手动输入的方式创建:
#创建一维数组
x=np.array([1,2,3,4,5])
#创建二维数组
y=np.array([[1,2],[22,2],[11,8]])
结果:
2、从文件中读取:
以创建的test.txt为例:
读取代码:
#以逗号为元素分割符号识别矩阵
test = np.loadtxt('E:/test.txt',delimiter=',')
结果:
二、数组(矩阵)的初始化
1、创建元素数值为0的数组(矩阵):zeros函数
#创建3X3的0矩阵
a=np.zeros((3,3))
结果:
2、创建数值为1的数组(矩阵):ones函数
#创建2X3的元素为1的矩阵
a=np.ones((2,3))
结果:
3、创建元素数值为自定义值的数组(矩阵):full函数(可替代zeros与ones函数)
#创建3X3元素为0的矩阵
a=np.full((3,3),0)
#创建3X5元素为2的矩阵
a=np.full((3,5),2)
4、创建单位矩阵(对角线元素为1其余为0的矩阵):eye函数
#创建3X3的单位矩阵
a=np.eye(3)
结果:
5、创建随机矩阵(各元素数值均为随机数的矩阵):
#创建3X4的随机矩阵
a=np.random.random((3,4))
结果:
6、创建从0开始的一维的连续数组:arange函数
#创建从0开始至3结束(不包括3)的一维数组
np.arange(3)
结果:
三、元素类型:
1、若是元素皆为整数则为整型数组,若元素皆为小数则为浮点型数组,若既有小数又有整数则识别为浮点型数组,代码流程示例如下:
2、同样也可以在数组定义时对元素类型进行声明,如下:
3、元素类型转换:
a=np.array(a,dtype=int)
四、提取数组中的数值:
# 数组准备:
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
1、推荐方式:
a[行值,列值]
2、不推荐方式:
a[行值][列值]
示例结果:(两方式相同)
五、矩阵的数据提取进阶:
1、索引符号解释:
(1) : 从当前索引开始至结束,如a[1:]是获取索引1到最后的元素 。
(2) - 获取倒数索引的元素,注意从1开始,如a[-2]是获取索引倒数第二个元素。
简单的例子如下:
2、进阶:获取矩阵的一部分
a=np.array([[1,2,3,4],
[5,6,7,8],
[9,10,11,12]])
a[-2:,1:3]
结果:
3、与arange函数结合获取矩阵的一部分:
#获取矩阵前2行的第1列
a[np.arange(2),1]
结果:
4、获取矩阵元素的最大最小值:max和min函数
#a中所有元素的最大值
y1=a.max()
#a中所有元素的最小值
y2=a.min()
结果:
六、矩阵的形状管理
1、获取数组(矩阵)的长度(形状)信息:通过shape属性
# 数组准备:
a=np.array([1,2,3])
b=np.array([[1,2,3],[4,5,6],[7,8,9]])
运行结果:
2、矩阵重组:通过reshape方法:
# 符号解释: -1 代表一个占位符,表示自适应。
# 矩阵准备:
a=np.array([1,2,3,4,5,6])
举例:
#将数组重组为2行的矩阵
a=a.reshape((2,-1))
结果1:
#再将上步的运行结果(即2X3的矩阵)重组为2列矩阵
a=a.reshape((-1,2))
结果2: