Supposons que vous faites ce qui suit en tout
import numpy as np
arr = np.arange(9).reshape((3,3))
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
arr.T
array([[0, 3, 6],
[1, 4, 7],
[2, 5, 8]])
arr.transpose()
array([[0, 3, 6],
[1, 4, 7],
[2, 5, 8]])
arr.transpose((1,0))
array([[0, 3, 6],
[1, 4, 7],
[2, 5, 8]])
Utilisé lors de l'échange de deux axes
arr.swapaxes(1,0)
array([[0, 3, 6],
[1, 4, 7],
[2, 5, 8]])
arr.swapaxes(0,1)
array([[0, 3, 6],
[1, 4, 7],
[2, 5, 8]])
np.dot(arr.T,arr)
array([[45, 54, 63],
[54, 66, 78],
[63, 78, 93]])
Trois files d'attente 2x2 sont empilées
arr3d = np.arange(12).reshape((3,2,2))
arr3d
array([[[ 0, 1],
[ 2, 3]],
[[ 4, 5],
[ 6, 7]],
[[ 8, 9],
[10, 11]]])
arr3d[0]
array([[0, 1],
[2, 3]])
1er argument: 0 → Ne rien faire pour 3 matrices 2x2 Deuxième argument: translocation de matrice 2 → 2x2 3ème argument: translocation matricielle 1 → 2x2
arr3d.transpose((0,2,1))
array([[[ 0, 2],
[ 1, 3]],
[[ 4, 6],
[ 5, 7]],
[[ 8, 10],
[ 9, 11]]])
Recommended Posts