1、numpy继承于C语言,跟python有一些区别。
2、数据处理的过程中,如果遇到向量化、矩阵化操作的时候,优先考虑numpy
使用numpy数组的原因:python中的列表,里面的数据有很多种类型,每次用到里面的元素都要判断它的类型,耗时很长,但是numpy里面的数据,只需要知道一个就可以了。
3、numpy切片时,切的是一个视图,而不是副本
如果想要一个副本,加入.copy。
4、random.randint(20,size(3,4)),生成一个3行4列的二维数组
random.randint(20,(12,))里面的size=(12,),一维的
5、numpy的四种运算
(1)向量化运算(一维)
np.arange创建等差数列
np.array创建一个数组
(2)两个数组运算
dot跟x*y不一样,x*y是每一个元素相乘
广播运算:维度不匹配的时候,就进行扩充。
(补充:切片问题
(1)先看数据是一维还是二维
一维的就是:
因为切片里面有一个说法:前闭后开,不包括后面的位置的数。
所以可以看成:切片里面的2、3、4指的就是第2行、第3行、第4行
(2)切片形式:
1.正向切片:[开始位置: 结束位置: 切片间隔: ],[2:5:4]
起始位置是0可以省略。结束位置可以省略,代表可以取到最后一位。还可以使用反向索引。
2.反向切片:[]
补充:元祖
tuple元祖 序列类型
表示方式:(data1, data2...)
元素不支持修改,是一种不可变的列表
)
最终总结