上一次解释了关于Numpy的数据存储。
Numpy
目的:解决python中每一个变量都是一个对象,而造成的巨大空间浪费,提供了类似C语言的存储表示。
np.array()
要点一
array的具体实例是一个对象
这意味着它有许多的属性,我们不能忽略这个问题
有几个基本属性
属性:大小、形状、存储大小、数据类型。
维度ndim、维度大小shape、总大小size
还有dtype,数据类型,itemsize,单个元素字节大小
nbytes,总字节大小
要点二
按照[],选择相应的元素
这是基本选择元素的方法
要点三
根据要点2,使用切片
一维数组切片
二维数组切片
x[:5], x[5:], x[4:7], x[::2](每隔一个元素)
x[::-1]逆序
二维数组中同理
x[:3, ::2]
注:空切片,获得所有的值,
行时,可省略列的空切片
要点四
Numpy中切片后得到的子数组不是副本
想要获得副本则需+copy()
x[:2, :2].copy()
要点五
数组可以通过变形变成矩阵。
矩阵可以通过函数np.concatenate进行拼接
reshape变形
或者使用np.newaxis关键字
np.array([1,2,3])
x.reshape((1,3))
x[np.newaxis, :]\ 得到行
x[:, np.newaxis]\ 得到列
拼接时也可以用np.vstack垂直栈,np.hstack更为简洁
np.dstack可以沿着第三个维度....
要点五
与拼接相反,是分裂
np.split(x,[a,b,c])采用点分裂
np.vsplit(x,[a,b,c])行分裂
np.hsplit(x,[a,b,c])列分裂
网友评论