- 使用 reshape() 方法对图像大小进行改变时,会返回一个新值,不会改变原有值(非原地改变)
- 可以使用 .flatten() 方法直接将数组变为一维
- shape(a,b,c)方法中,a是块数(维数);b是行数;c是列数
- 广播机制: 只要有一个维度方向上是一样的就可以通过广播机制进行矩阵数组的运算
- 轴(axis): 在numpy中可以理解为方向,使用0,1,2…数字表示,对于一个一维数组,只有一个0轴,对于2维数组(shape(a,b)),有0轴和1轴,对于三维数组(shape(a,b, c)),有0,1,2轴
- 其中 a 为行(1轴), b 为列(2轴) ,c为宽(通道数,0轴)
- 数据读取函数:
- np.loadtxt(fname,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)
例:
-
切片和索引: 取不连续多行采用双层方括号(如:取2,5,8行可采用[[2,5,8]]) [ , ]在索引中,在逗号前为取行,逗号后为取列,如需全取,用冒号(如:取2行所有列采用:[2,:]); 取不连续多列采用(例:[ :,[0,2] ]为取所有行的第1,3列)
-
注: 在用冒号作为索引路径时,要注意它是左闭右开的(如:取3到5行;2到4列,可采用 [2:5,1,4] )
-
取多个不相邻的点 (如取(0,0)取(2,1)取(2,3)采用: [ [0,2,2],[0,1,3] ] ,前一个方括号为行的位置,后一个为列的位置)
-
可以通过对索引位置添加条件获取符合条件的值,或对其进行替换 (如:取数组a中 大于零 的值可用 a[a>0] 来实现;可通过 a[a>0] = 3 将a中所有大于零的数替换为3)
-
批量转换的方法: np.where(t<10 , 0, 10) (将数组中小于10的数变为0其余变为10); np.clip(a, b)(小于a的转化为a, 大于b的转化为b)
注: 全部替换为0后,替换之前的平均值如果大于0,替换之后的均值肯定会变小,所以更一般的方式是把缺失的数值替换为均值(中值)或者是直接删除有缺失值的一行 -
numpy中常用统计函数:
(如:若axis = 0 表示对所有行进行操作,若是sum则得到1行n列的一个数组)
-
数组的拼接:
-
数组的行列交换
-
常用方法:
-
numpy生成随机数
-
numpy注意点: