English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die häufig verwendeten Funktionen zum Verbinden von Arrays sind:
Funktion | Beschreibung |
concatenate | Verbinden Sie eine Sequenz von Arrays entlang einer bestehenden Achse |
stack | Fügen Sie eine Reihe von Arrays entlang eines neuen Achsen hinzu. |
hstack | Horizontales Stapeln der Arrays in der Sequenz (in der Richtung der Spalten) |
vstack | Vertikal stapeln Sie die Arrays in der Sequenz (in der Richtung der Zeilen) |
dstack | Verbinden Sie entlang der Höhe, die mit der Tiefe gleich ist |
Verbindung bedeutet, den Inhalt von zwei oder mehreren Arrays in eine einzelne Matrix zu legen.
In SQL verbinden wir Tabellen basierend auf dem Schlüssel, während wir in NumPy Arrays entlang einer Achse verbinden.
Die Funktion numpy.concatenate verbindet zwei oder mehrere Arrays entlang einer angegebenen Achse, Format wie folgt:
numpy.concatenate((a1, a2, ..., axis)
Parameterbeschreibung:
a1, a2, ...: Arrays desselben TypsAchse: Verbinden Sie die Achsen der Arrays entlang dieser Achse, Standardwert ist 0
import numpy as np a = np.array([1,2,3,4,5],[3,4,5,6,7]]] print('第一个数组:') print(a) print('\n') b = np.array([5,6,7,8,9],[7,8,9,10,11]]] print('第二个数组:') print(b) print('\n') # Die Dimensionen der beiden Arrays sind gleich print ('Verbinden zwei Arrays entlang der Achse 0: ' print (np.concatenate((a,b))) print('\n') print ('Entlang der Achse 1 Verbinden zwei Arrays: ' print (np.concatenate((a,b),axis = 1))
输出结果为:
[[ 5 6 7 8 9] [ 7 8 9 10 11]] Verbinden zwei Arrays entlang der Achse 0: [[ 1 2 3 4 5] [ 3 4 5 6 7] [ 5 6 7 8 9] [ 7 8 9 10 11]] 沿轴 1 Verbinden zwei Arrays: [[ 1 2 3 4 5 5 6 7 8 9] [ 3 4 5 6 7 7 8 9 10 11]]
Die Funktion numpy.stack verbindet eine Sequenz von Arrays entlang eines neuen Achsen, Format wie folgt:
numpy.stack(arrays, axis)
Parameterbeschreibung:
Sequenz von Arrays mit gleicher FormAchse: Gibt die Achse der Matrix zurück, entlang der die Arrays gestapelt werden
import numpy as np a = np.array([1,2,3,4,5],[3,4,5,6,7]]] print('第一个数组:') print(a) print('\n') b = np.array([5,6,7,8,9],[7,8,9,10,11]]] print('第二个数组:') print(b) print('\n') print ('Entlang der Achse 0 Stacken zwei Arrays: ' print (np.stack((a,b),0)) print('\n') print ('Entlang der Achse 1 Stacken zwei Arrays: ' print (np.stack((a,b),1))
输出结果如下:
第一个数组: [[1 2 3 4 5] [3 4 5 6 7]] 第二个数组: [[ 5 6 7 8 9] [ 7 8 9 10 11]] 沿轴 0 堆叠两个数组: [[[ 1 2 3 4 5] [ 3 4 5 6 7]] [[ 5 6 7 8 9] [ 7 8 9 10 11]]] 沿轴 1 堆叠两个数组: [[[ 1 2 3 4 5] [ 5 6 7 8 9]] [[ 3 4 5 6 7] [ 7 8 9 10 11]]]
numpy.hstack 是 numpy.stack 函数的变体,它通过水平堆叠来生成数组。
import numpy as np a = np.array([1,2,3,4,5],[3,4,5,6,7]]] print('第一个数组:') print(a) print('\n') b = np.array([5,6,7,8,9],[7,8,9,10,11]]] print('第二个数组:') print(b) print('\n') print('水平堆叠:') c = np.hstack((a, b)) print(c) print('\n')
输出结果如下:
第一个数组: [[1 2 3 4 5] [3 4 5 6 7]] 第二个数组: [[ 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]]
numpy.vstack 是 numpy.stack 函数的变体,它通过垂直堆叠来生成数组。
import numpy as np a = np.array([1,2,3,4,5],[3,4,5,6,7]]] print('第一个数组:') print(a) print('\n') b = np.array([5,6,7,8,9],[7,8,9,10,11]]] print('第二个数组:') print(b) print('\n') print('竖直堆叠:') c = np.vstack((a, b)) print(c)
输出结果为:
第一个数组: [[1 2 3 4 5] [3 4 5 6 7]] 第二个数组: [[ 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() 沿高度堆叠,该高度与深度相同。
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)
输出结果为:
[[[ 1 5] [ 2 6] [ 3 7] [ 4 8] [ 5 9]] [[ 3 7] [ 4 8] [ 5 9] [ 6 10] [ 7 11]]]