python中numpy合并和分割

Posted hisweety

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中numpy合并和分割相关的知识,希望对你有一定的参考价值。

两个矩阵或序列进行合并
A=np.array([1,1,1]) B=np.array([2,2,2]) print(np.vstack(A,B))# 上下合并 vertical stack D=np.hstack((A,B))#左右合并 horizontal stack
上下合并结果为
[[1,1,1],
[2,2,2]]
左右合并[1,1,1,2,2,2]
注意A.T不能转换成竖向的序列
要采用
A.[np.newaxis,:]冒号在右边则代表在行上加了一个维度
A.[:,np.newaxis]冒号在左边则代表在列上加了一个维度,可实现转换成竖向的序列。
[
[1],
[1],
[]]
]
故如果想要转换成下图所示
uploading-image-788153.png


A=np.array([1,1,1])[:,np.newaxis]
B=np.array([2,2,2])[:,np.newaxis]
np.hstack(A,B)

np.concatenate((A,B,B,A),axis=0)可对多个序列或矩阵进行合并,合并后矩阵.0表示上下合并成列向。
1表示左右合并行向。


从横向分割或纵向分割


如果无法按此规则分割,则程序报错。

故np.split()不支持不等量分割。
这里需要用np.array_split()来进行不等量分割。
会将无法等量分割,分割一个一个一维的序列或矩阵

np.vsplit(A,3)纵向分成3块(仅支持等量分割,与np.split()相似,只是不用传axis参数,即等于axis=0)
np.hsplit(A,2)横向分成2块。(仅支持等量分割,与np.split()相似,只是不用传axis参数,即等于axis=1)、

以上是关于python中numpy合并和分割的主要内容,如果未能解决你的问题,请参考以下文章

numpy.array 合并和分割

numpy数组的分割与合并

Python科学计算库Numpy

python实战应用讲解-numpy专题篇常见问题解惑(十五)(附python示例代码)

python numpy片段

python -- numpy 基本数据类型,算术运算,组合,分割 函数