numpy でディメンションを交換するためのヒント
はじめに:
numpy は、主に科学計算とデータ分析に使用される強力な Python ライブラリです。 numpy では多次元配列を扱う必要がよくあり、配列の次元交換も一般的な操作の 1 つです。この記事では、numpy でディメンションを交換するためのいくつかのテクニックを紹介し、具体的なコード例を示します。
1. numpy の次元交換関数
numpy では、transpose() 関数と swapaxes() 関数を使用して次元交換を実行できます。
numpy.transpose(arr, axes)
ここで、arr は転置される配列、axes は軸の順序であり、整数にすることができます。または整数のシーケンス。 axes が整数の場合は、その軸に沿って次元が交換された新しい配列を返します。axes が整数のシーケンスの場合は、指定された順序で新しい配列を返します。
numpy.swapaxes(arr) , axis1 , axis2)
このうち、arr は交換対象の軸の配列で、axis1 と axis2 が交換対象の軸です。 swapaxes() 関数は、軸が元の配列の軸のコピーである新しい配列を返しますが、axis1 と axis2 は交換されます。
2. numpy でのディメンション交換の例
以下では、いくつかの具体的な例を使用して、numpy でのディメンション交換のスキルを示します。
例 1: 次元交換のための transpose() 関数の使用
(3, 4, 2) の形状を持つ 3 次元配列があり、その 1 番目と 2 番目の配列を交換したいとします。寸法です。コードは次のとおりです。
import numpy as np
arr = np.arange(24).reshape(3, 4, 2)
print("元の配列: ")
print(arr)
new_arr = np.transpose(arr, (1, 0, 2))
print("交換後の配列:")
print(new_arr)
実行結果は次のとおりです:
元の配列:
[[[ 0 1]
[ 2 3]
[ 4 5]
[ 6 7] ]
[[8 9]
[10 11]
[12 13]
[14 15]]
[[16 17]
[18 19]
[20 21]
[22 23]]]
交換後の配列:
[[[ 0 1]
[ 8 9]
[16 17 ]]
[[ 2 3]
[10 11]
[18 19]]
[[ 4 5]
[12 13]
[ 20 21]]
[[ 6 7]
[14 15]
[22 23]]]
例 2: 次元交換のための swapaxes() 関数の使用
形状 (2、5、3) の 3 次元配列があると仮定します。その最初の次元と 2 番目の次元を交換したいとします。コードは次のとおりです。
import numpy as np
arr = np.arange(30).reshape(2, 5, 3)
print("元の配列: ")
print(arr)
new_arr = np.swapaxes(arr, 0, 1)
print("交換後の配列:")
print(new_arr)
実行結果は次のとおりです。
元の配列:
[[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]
[12 13 14]]
[[15 16 17]
[18 19 20]
[21 22 23]
[24 25 26]
[27 28 29 ]]]
交換後の配列:
[[[ 0 1 2]
[15 16 17]]
[[ 3 4 5]
[18 19 20] ]
[21 22 23]]
#[[9 10 11]
[ [12 13 14]
上記の 2 つの例を通じて、numpy での次元交換の手法を実証しました。 transpose() 関数と swapaxes() 関数を使用すると、さまざまな問題のニーズに合わせて配列の次元を簡単に交換できます。パラメータを調整することで異次元交換演算を実現できるため、多次元配列データをより柔軟に処理できます。
以上がNumpyで次元交換を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。