日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

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

作者:Dream丶Killer ? 更新時間: 2022-05-02 編程語言

在寫代碼時,經常會遇到多個矩陣數組拼接的情況,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]]

原文鏈接:https://blog.csdn.net/qq_43965708/article/details/115673439

欄目分類
最近更新