numpy创建数组:
a = np.array([1,2,3,4,5])
b = np.array(range(1,6))
c = np.arange(1,6)
a = np.array([1,2,3,4,5])
数据的类型
a.dytpe
dtype('int64')
数据类型的操作:
a = np.array([1,0,1,0],dtype=np.bool)
a.astype(np.int8)
数组的形状:
查看数字的形状
a.shape()
修改数组的形状:
a.reshape()
a.flatten() 展开成一维数据
广播原则
如果两个数组的后缘维度(即从末尾开始算起的维度)的轴长度相符或其中一方的长度为1,则认为它们是广播兼容的。广播会在缺失和(或)长度为1的维度上进行。
shape(3,3,2)能和(3,2)进行计算
numpy读取数据
np.loadtxt(fname,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)
fname: 文件、字符串或产生器,可以是 .gz或bz2压缩文件
dtype 数据类型,可选,csv的字符串以什么数据类型读入数组中,默认 np.float
delimiter: 分隔字符,默认是任何空格,改为逗号
sikprows: 跳过X行,一般跳过第一行表头
useclos:都取指定的列,索引,元组类型
unpack:true则转置
numpy中的转置:
t.swapaxes()
t.T
t.transpose()
numpy索引和切片:
a[:,:] : 行,列
numpy中布尔索引:
t<10 数组变为 True 或者False布尔值
t[t<10] = 0
numpy中三元运算符:
np.where(t<10,0,10) 小于10替换为0 ,大于10替换为10
裁剪clip:
t.clip(10,18):小于10替换为10 ,大于18替换为18
numpy中的nan和inf:
nan: not a number (float)
inf : infinity 正无穷 -inf负无穷
nan的注意点:
np.nan != np.nan
np.isnan(a) 返回bool类型
nan和任何值计算都为nan
numpy中常用的统计函数:
求和:t.sum(axis=None)
均值:t.mean(a,axis=None) 受离群点的影响较大
中值:np.median(t,axis=None)
最大值:t.max(axis=None)
最小值:t.min(axis=None)
极值:np.ptp(t,axis=None) 即最大值和最小值只差
标准差:t.std(axis=None)
默认返回多维数组的全部的统计结果,如果指定axis则返回一个当前轴上的结果
数组的拼接:
np.vstack((t1,t2)) : vertical竖直拼接
np.hstack((t1,t2)):horizont水平拼接
取得大小值的位置:
np.argmax(t,axis=0)
np.argmin(t,axis=0)
创建全0 数组:
np.zeros((3,4))
创建全1数组:
np.ones((3,4))
创建对角线为1的正方形数组(方阵):
np.eye(3)
numpy生成随机数: