创建数组
- numpy.array()
- numpy.array([1,2,3,4,5],dtype=“int”)
- numpy.array(range(10),dtype=“float”)
- numpy.arange((10),dtype=“int”)
- 修改数组数据类型 array1.astype(“int”)
数组形状
- array1.shape 返回一个元组(行数,列数)
- array1.reshape() 修改数组形状 一维数组:一个数 二维数组: 行数,列数 三维数组:模块数,行数,列数
- array1.flatten() 将数组展开 变为一维数组
数组计算
- 与数字计算 array1 + 2
- 数组内全部元素都+2
- 数组与数组 array1+array2
- 对应位元素运算 (两数组形状相同)
- 一维数组和二维数组运算:每组元素个数相同(列数相同)
- 二维数组和三维数组运算:行数和列数相同
切片和索引
-
索引
- array[2,3] 一个元素
- array[[0,5],[1,3]] 多个元素
-
选择行
- array[2] 指定一行
- array[2:] 指定连续多行
- array[[1,3,5]] 指定不连续多行
-
选择列
- array[:,2] 指定1列
- array[:,2:] 指定连续多列
- array[:,[1,3,5]] 指定不连续多列
赋值
- array[2,3] = 10
布尔索引
- array[array > 10] 数组中大于10的元素返回True 反之返回False
- array[array>10] = 10 将大于10 的数赋值为0
三元运算符
- a = 3 if 3>2 else 4 判断条件True a=3 False a=4
- array = numpy.where(a>10,0,1) numpy中的三元运算符
裁剪
- array.clip 将小于10的替换成10 将大于20的替换成20
- 不会修改原数组
转置
- array.T 行变为列 列变为行
- array.transpose()
- array.swapaxes(1,0)
读取本地文件
- ar = numpy.loadtxt(file_path,dtype=float,delimiter=None,unpack=False,encoding=‘bytes’)
- delimiter分隔符 unpack转置(行变为列 列变为行)
nan(不是一个数)和inf(无穷)
- numpy.nan不是一个数 两两不相等
- numpy.count_nonzero(array) 计算array数组中不为0的个数 当数组中元素为0时返回True 反之False
- numpy.count_nonzero(array != array) 计算array数组中nan个数
- numpy.isnan(array) 计算array数组中nan个数
常用的统计函数
- array.sum(axis=0) 行方向求和
- numpy.median(array) 行方向求平均值
- array.mean(axis=0) 行方向求平均值
- array.max() 最大值 可传入方向
- array.min() 最小值
- numpy.ptp(array) 极差
- numpy.std(array) 标准差