python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > np.dstack()、np.hstack()、np.vstack()

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

作者:Dream丶Killer

numpy里dstack, hstack, vstack, 都有拼接的作用,本文详细的介绍了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()内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文