主要内容 #
- 综合实战:数据可视化,了解NumPy和Matplotlib的数据分析基础包,掌握数据可视化的基本编写
1.关于NumPy #
#两种方法构建二维列表,创建3*3的矩阵 a=[[0,0,0] for i in range(3)]#语法糖创建3*3的零矩阵 b=[[0]*3]*3#使用'*'快速复制列表元素创建3*3的零矩阵 a[0][1]=1#修改第一行第二列为1 b[0][1]=1#修改第一行第二列为1 print(a) print(b)以上示例输出的结果表明,b列表中每个列表之间都是浅copy的关系。因此改变其中一个列表,相当于其他两个列表也做了相同的操作,这不符合我们创建二维矩阵的目的。使用numpy可以解决这种问题,而且numpy本身也有更加简便的方法,注意以下示例两种不同的索引方式。
#两种方法使用numpy创建3*3的矩阵 import numpy as np#导入numpy包 a=[[0]*3]*3 a=np.array(a)#使用二维列表创建矩阵 b=np.zeros((3,3))#使用zeros方法创建矩阵 a[0,1]=1#索引方式也可与二维列表形同如下 b[0][1]=1#兼容python二维列表的索引方式 print(a) print(b)
2.NumPY的使用 #
以下示例通过使用numpy创建一个n*n的方阵,并打印出每个位置对应的数字,比如第二行第一列对应位置数字为21,关于NumPY的使用更多方法参考NumPy使用手册import numpy as np#导入numpy包 try: n=int(input('方阵大小:')) except: print('请输入整数!!!') a=np.zeros((n,n))#初始化矩阵 for i in range(n): for j in range(n): a[i,j]=10*(i+1)+j+1#想一想为什么? print(a)#打印矩阵
习题 #
- 参照本节课第二小节示例,请使用二维列表实现相同的功能,并谈一谈多维列表和numpy矩阵的不同之处
- 结合NumPy使用手册(点击查询),尽可能多的找一找NumPy使用的例子