python
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr)
print(arr.shape)
print(arr.ndim)
print('###############')
arr2 = np.array([1, 2, 3, 4 ,5 ,6])
print(arr2)
print(arr2.shape)
print(arr.ndim)
print('###############')
arr3 = arr2.reshape(3, 2)
print(arr3)
print(arr3.shape)
print(arr3.ndim)
print('###############')
arr3 = arr2.reshape(3, -1)
print(arr3)
print(arr3.shape)
print(arr3.ndim)
Ausführungsergebnis
[[1 2 3]
[4 5 6]]
(2, 3)
2
###############
[1 2 3 4 5 6]
(6,)
2
###############
[[1 2]
[3 4]
[5 6]]
(3, 2)
2
###############
[[1 2]
[3 4]
[5 6]]
(3, 2)
2
Sie können die Form in Form von (Zeile, Spalte) mit shpe erhalten. Mit ndim können Sie die Anzahl der Dimensionen in einem mehrdimensionalen Array ermitteln.
Verwenden Sie die Methode reshape (), um die Form zu ändern. Geben Sie die Form in Form von (Zeile, Spalte) im Argument von reshape () an.
Das Array nach dem Ändern der Form mit Umformung und das ursprüngliche Array müssen dieselbe Anzahl von Elementen aufweisen. Im obigen Beispiel beträgt die Anzahl der Elemente im Array arr2 6. Es kann mit arr.reshape ((2, 3)) umgeformt werden. (Weil 2 x 3 = 6) Wenn die Anzahl der Elemente unterschiedlich ist, tritt ValueError auf.
Durch Übergeben von 3 und -1 als Argument für die Umformung wird automatisch ein 3x2-Array generiert.
Recommended Posts