numpy np.dstack()、np.hstack()、np.vstack()用法

在写代码时,经常会遇到多个矩阵数组拼接的情况,numpy里dstack, hstack, vstack, 都有拼接的作用,那么这些函数是怎么执行的,他们的结果又如何呢?

 

np.dstack()

按深度顺序堆叠arrays。当数组为2维数组(M,N)或1维数组(N,)时,首先分别将其维度改变为(M,N,1)、(1,N,1),然后沿着第三根轴(r/g/b通道)进行拼接。
栗子:

# 一维
a = np.array([1, 2])
b = np.array([3, 4])
print(np.dstack((a,b)))

# 二维
a = np.array([[1, 1],
              [2, 2],
              [3, 3]])
b = np.array([[4, 4],
              [5, 5],
              [6, 6]])
print(np.dstack((a,b)))

# 运行结果
[[[1 3]
  [2 4]]]
  
[[[1 4]
  [1 4]]
 [[2 5]
  [2 5]]
 [[3 6]
  [3 6]]]

 

np.hstack()

水平方向(列)顺序堆叠arrays。
栗子:

import numpy as np

# 一维
a = np.array([1, 2])
b = np.array([3, 4])
print(np.hstack((a,b)))

# 二维
a = np.array([[1, 1],
              [2, 2],
              [3, 3]])
b = np.array([[4, 4],
              [5, 5],
              [6, 6]])
print(np.hstack((a,b)))

# 运行结果
[1 2 3 4]

[[1 1 4 4]
 [2 2 5 5]
 [3 3 6 6]]

 

np.vstack()

垂直方向(行)顺序堆叠arrays。
栗子:

# 一维
a = np.array([1, 2])
b = np.array([3, 4])
print(np.vstack((a,b)))

# 二维
a = np.array([[1, 1],
              [2, 2],
              [3, 3]])
b = np.array([[4, 4],
              [5, 5],
              [6, 6]])
print(np.vstack((a,b)))

# 运行结果
[[1 2]
 [3 4]]
 
[[1 1]
 [2 2]
 [3 3]
 [4 4]
 [5 5]
 [6 6]]

关于numpy中np.dstack()、np.hstack()、np.vstack()用法的文章就介绍至此,更多相关np.dstack()、np.hstack()、np.vstack()内容请搜索编程宝库以前的文章,希望以后支持编程宝库

 1、吃金币源码分享:import osimport cfgimport sysimport pygameimport randomfrom modules import *   ...