import numpy as np
np.shape 查看数组大小
np.reshape 重置数组大小
广播原则 如果两个数组的后缘维度,即从末尾开始算起的维度的轴长度相符或其中一个长度为1,则认为他们是广播兼容的 广播会在缺失和长度为1的情况下进行
numpy读取数据
np.loadtxt(path, delimiter=",",dype="int")
转置 np.transpose() T 交换轴 swapaxes()
numpy索引和切片
取行 print(t2[2])
取连续的多行:print(t2[2:])
取不连续的多行:print(t2[[2,8,10]])
取列: y2[1:] t2[2,:,:] t2[[2,8,10],:])
取多行多列 t2[2:5,1:4] 取第2行到第5行,第二列到第四列的结果,取交叉点的数字
取多个不相邻的点: t2[[0,2],[0,1]]
数值的修改:直接修改行列的值 【】中可以使用布尔索引
np.where(t<10,0,10) t<10的情况下赋值为0,其他情况赋值10
np.clip(10,18) 裁剪 小于10的替换为10,大于18的替换为18
nan:not a number 读取本地文件为float如果有缺失会出现nan,当走了一个不合适的计算的时候(无穷大减去无穷大)
inf(-inf,inf) 正无穷和负无穷
一个数字除以0 python中会直接报错,numpy中是一个inf或者-inf
nan的属性:两个nan不相等,判断数组中nan的个数np.count_nonzero(t2!=t2) 其他位置都为True,只有nan处为False
np.isnan()
nan和任何值计算都是nan
numpy常见统计函数
求和t.sum(axis=None)
均值t.mean(a.axis=None)
中值np.nedian(t.axis=None)
最大值t.max(axis=None)
最小值t.min(axis=None)
极值 np.ptp(t.axis=None)
标准差t.std(axis=None)
小结:
选择行 t[2] t[3:,:]
选择列 t[:,4:]
选择行列 连续的多行 t[2:,:3] 不连续 t[[1,3],[2,4]] (选择的是(1,2)(3,4)两个位置的值
赋值 t[2:,3]=3
布尔索引 t[t>10]=10
三元运算符 np.where(t>10,20,0) 把t中大于10的替换为20,其他的替换为0
裁剪 t.clip(10,20) 把小于10的替换为10,大于20的替换为20
转置 t.T t.transpose() t.swapaxes
读取csv np.loadtxt(file_path,delimiter,dtype)
nan inf
常用的统计函数
数组的拼接 np.vstack 竖直拼接 np.hstack 水平拼接
numpy生成随机数 .rand