NumPy 數(shù)組連接

連接數(shù)組常用的函數(shù)如下:

函數(shù)描述
concatenate連接沿現(xiàn)有軸的數(shù)組序列
stack沿著新的軸加入一系列數(shù)組。
hstack水平堆疊序列中的數(shù)組(列方向)
vstack豎直堆疊序列中的數(shù)組(行方向)
dstack沿高度堆疊,該高度與深度相同

按軸連接數(shù)組(numpy.concatenate)

連接意味著將兩個或多個數(shù)組的內(nèi)容放在單個數(shù)組中。
在 SQL 中,我們基于鍵來連接表,而在 NumPy 中,我們按軸連接數(shù)組。

numpy.concatenate 函數(shù)用于沿指定軸連接相同形狀的兩個或多個數(shù)組,格式如下:

numpy.concatenate((a1, a2, ...), axis)

參數(shù)說明:

a1, a2, ...:相同類型的數(shù)組axis:沿著它連接數(shù)組的軸,默認(rèn)為 0

import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7]])
print ('第一個數(shù)組:')
print (a)
print ('\n')
b = np.array([[5,6,7,8,9],[7,8,9,10,11]])
print ('第二個數(shù)組:')
print (b)
print ('\n')
 # 兩個數(shù)組的維度相同
print ('沿軸 0 連接兩個數(shù)組:')
print (np.concatenate((a,b)))
print ('\n')
print ('沿軸 1 連接兩個數(shù)組:')
print (np.concatenate((a,b),axis = 1))

輸出結(jié)果為:

[[ 5 6 7 8 9]
[ 7 8 9 10 11]]

沿軸 0 連接兩個數(shù)組:
[[ 1 2 3 4 5]
[ 3 4 5 6 7]
[ 5 6 7 8 9]
[ 7 8 9 10 11]]

沿軸 1 連接兩個數(shù)組:
[[ 1 2 3 4 5 5 6 7 8 9]
[ 3 4 5 6 7 7 8 9 10 11]]

使用堆棧函數(shù)連接數(shù)組(numpy.stack)

numpy.stack 函數(shù)用于沿新軸連接數(shù)組序列,格式如下:

numpy.stack(arrays, axis)

參數(shù)說明:

arrays相同形狀的數(shù)組序列axis:返回數(shù)組中的軸,輸入數(shù)組沿著它來堆疊

import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7]])
print ('第一個數(shù)組:')
print (a)
print ('\n')
b = np.array([[5,6,7,8,9],[7,8,9,10,11]])
print ('第二個數(shù)組:')
print (b)
print ('\n')
print ('沿軸 0 堆疊兩個數(shù)組:')
print (np.stack((a,b),0))
print ('\n')
print ('沿軸 1 堆疊兩個數(shù)組:')
print (np.stack((a,b),1))

輸出結(jié)果如下:

第一個數(shù)組:
[[1 2 3 4 5]
[3 4 5 6 7]]

第二個數(shù)組:
[[ 5 6 7 8 9]
[ 7 8 9 10 11]]

沿軸 0 堆疊兩個數(shù)組:
[[[ 1 2 3 4 5]
[ 3 4 5 6 7]]
[[ 5 6 7 8 9]
[ 7 8 9 10 11]]]

沿軸 1 堆疊兩個數(shù)組:
[[[ 1 2 3 4 5]
[ 5 6 7 8 9]]
[[ 3 4 5 6 7]
[ 7 8 9 10 11]]]

沿行堆疊數(shù)組(numpy.hstack)

numpy.hstack 是 numpy.stack 函數(shù)的變體,它通過水平堆疊來生成數(shù)組。

import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7]])
print ('第一個數(shù)組:')
print (a)
print ('\n')
b = np.array([[5,6,7,8,9],[7,8,9,10,11]])
print ('第二個數(shù)組:')
print (b)
print ('\n')
print ('水平堆疊:')
c = np.hstack((a,b))
print (c)
print ('\n')

輸出結(jié)果如下:

第一個數(shù)組:
[[1 2 3 4 5]
 [3 4 5 6 7]]

第二個數(shù)組:
[[ 5 6 7 8 9]
 [ 7 8 9 10 11]]

水平堆疊:
[[ 1 2 3 4 5 5 6 7 8 9]
 [ 3 4 5 6 7 7 8 9 10 11]]

沿列堆疊數(shù)組(numpy.vstack)

numpy.vstack 是 numpy.stack 函數(shù)的變體,它通過垂直堆疊來生成數(shù)組。

import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7]])
print ('第一個數(shù)組:')
print (a)
print ('\n')
b = np.array([[5,6,7,8,9],[7,8,9,10,11]])
print ('第二個數(shù)組:')
print (b)
print ('\n')
print ('豎直堆疊:')
c = np.vstack((a,b))
print (c)

輸出結(jié)果為:

第一個數(shù)組:
[[1 2 3 4 5]
 [3 4 5 6 7]]

第二個數(shù)組:
[[ 5 6 7 8 9]
 [ 7 8 9 10 11]]

豎直堆疊:
[[ 1 2 3 4 5]
 [ 3 4 5 6 7]
 [ 5 6 7 8 9]
 [ 7 8 9 10 11]]

沿高度堆疊(numpy.dstack)

NumPy 提供了一個輔助函數(shù):dstack() 沿高度堆疊,該高度與深度相同。

import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7]])
b = np.array([[5,6,7,8,9],[7,8,9,10,11]])
arr = np.dstack((a, b))
print(arr)

輸出結(jié)果為:

[[[ 1 5]
  [ 2 6]
  [ 3 7]
  [ 4 8]
  [ 5 9]]

 [[ 3 7]
  [ 4 8]
  [ 5 9]
  [ 6 10]
  [ 7 11]]]
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清