美文网首页
Numpy基础_02+Numpy的分切与合并(2019.1.16

Numpy基础_02+Numpy的分切与合并(2019.1.16

作者: MMatx | 来源:发表于2019-01-19 19:36 被阅读0次

下面介绍关于Numpy的一些基本操作

一、查看numpy的基本属性
X=numpy.arange(15).reshape(3,5)
查看维度 :X.ndim
查看形状:X.shape
查看元素个数:x.size
二、数据访问
1、一维

x[0]
x[-1]

2、二维

X[(0,3)] # 元组  第一个行  第二个列
X[1,2] # 可把括号去掉
X[0][0] # 不建议这样写 这样定义不准确

3、切片
一维

x[0:5] 
x[:6]
x[5:]
x[::2]  #2 为切割的步长
x[1::2]

二维

X[0:2,0:3]  #切行切列
X[:2,:3]
X[:2][:3] #切出来不对 切的顺序 都是进行行操作
X[:2,::2] #先切行  列有步长进行切
X[::-1,::-1] # 矩阵反转 行列都反转
X[0,:]# 第一行所有列 变成向量 降维
X[:,0]

三、子矩阵相关

subX=X[:2,:3]
subX[0][0]=100
 #上述方法中subX和X同时改变,若创建无关子矩阵,则采用下述方法
subX=X[:2,:3].copy()
subX[0][0]=200

四、reshape

x.reshape(1,10) # 维度变大 
x.reshape(-1,10) #不关心多少行(-1),只关心多少列

Numpy的分割与合并操作

一、分割操作 Split
split,vsplit,hsplit
(1)split(ary, indices_or_sections, axis=0)
把一个数组从左到右按顺序切分
参数:
ary:要切分的数组
indices_or_sections:如果是一个整数,就用该数平均切分,如果是一个数组,为沿轴切分的位置
axis:沿着哪个维度进行切向,默认为0,横向切分
(2)upper,lower = np.vsplit(A,[1]) #垂直方向进行切割
(3)left,right = np.hsplit(A,[2]) # 水平方向切割,切成左右两个部分
二、合并操作

concatenate,vstack,hstack
注意在合并的时候,待合并元素放在列表里

np.concatenate([A,A],axis=0) #默认行衔接
np.concatenate([A,A],axis=1) #显式指定连接方式
# concatenate 只能处理相同的维度的合并
np.concatenate([A,z.reshape(1,-1)])
# vstack  拼接 比较智能
np.vstack([A,z]) # 无需变换
np.hstack([A,B]) # 里面是列表

相关文章

网友评论

      本文标题:Numpy基础_02+Numpy的分切与合并(2019.1.16

      本文链接:https://www.haomeiwen.com/subject/pjizdqtx.html