
索引有两种形式,第一种就是类似于在c语言中的,一个‘【】’里放一个数字,分别代表行,列,对于一维的就是数组的访问,即第几个。
第二种就是python中独有的,【行,列】 或者 【:,列】or【行,:】即某一列的所有的数或者是某一行所有的数。也可以是用a:b这种从a到b 配合使用。
a=np.arange(3,15).
//普通版本
print(a[n]) //c语言版本的索引
//升级版本,主要体现在二维上
b=a.reshape(3,4)
print(b[2,1])
print(b[:,1]) or print(1,:)
print(1:2,1) 表示第二列第二个数字到第三个数字
矩阵的合并
A=np.array([1,1,1])
B=np.array([2,2,2])
np.vstack((A,B)) //vertical stack 上下的粘连 就是[[1,1,1],
[2,2,2]]
np.hstack((A,B))//水平合并 [1,1,1,2,2,2]
//多个一维数组的合并
np.concatenate(array1,array2.... ,axis) //axis为0代表纵向合并,为1代表横向合并
矩阵的维度变换
A=np.array([1,1,1])
//当我想要竖着输出A的时候,我需要让他变换一下维度
B=A[:,np.newaxis]代表在列上加一个维度,就能达到输出纵向的1,1,1的效果
B=A[np.newaxis.:]代表在行上加一个维度,1,1,1将会作为二维数组的一行
矩阵的分割
//需要用到split(araray,sectors,axis) 从那个矩阵中 沿着那个轴 分成几块
A=np.arange(12).reshape((3,4))
print(np.split(A,2,axis=1))
//由于split只能平均分配,比如把四列分成1列,两列,或者四列,但是不能分成三列,所以有array_split
达到这个目的,而且参数和split一样
print(np.array_split(A,3,axis=1))
//还有俩函数能达到纵向分割和横向分割
print(np.hsplit(A,3))
print(np.vsplit(A,4))
矩阵的赋值
//简单的深拷贝和浅拷贝
a=np.arange(4)
b=a
c=a
这是浅拷贝,改变a的值b的值也会改变
d=a.copy()
这是深拷贝,改变a的值,d的值不会改变
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)