ホームページ  >  記事  >  ウェブフロントエンド  >  Numpyで次元交換を実装する方法

Numpyで次元交換を実装する方法

WBOY
WBOYオリジナル
2024-01-26 10:05:06818ブラウズ

Numpyで次元交換を実装する方法

numpy でディメンションを交換するためのヒント

はじめに:
numpy は、主に科学計算とデータ分析に使用される強力な Python ライブラリです。 numpy では多次元配列を扱う必要がよくあり、配列の次元交換も一般的な操作の 1 つです。この記事では、numpy でディメンションを交換するためのいくつかのテクニックを紹介し、具体的なコード例を示します。

1. numpy の次元交換関数
numpy では、transpose() 関数と swapaxes() 関数を使用して次元交換を実行できます。

  1. transpose() 関数
    transpose() 関数は、配列の次元を交換するために使用されます。これは、軸の順序を指定することで実現できます。関数のプロトタイプは次のとおりです:

numpy.transpose(arr, axes)

ここで、arr は転置される配列、axes は軸の順序であり、整数にすることができます。または整数のシーケンス。 axes が整数の場合は、その軸に沿って次元が交換された新しい配列を返します。axes が整数のシーケンスの場合は、指定された順序で新しい配列を返します。

  1. swapaxes() 関数
    swapaxes() 関数は、配列の 2 つの軸を交換するために使用されます。その関数のプロトタイプは次のとおりです:

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] ]

#[[ 6 7 8]

[21 22 23]]
#[[9 10 11]

[24 25 26]]


[ [12 13 14]

[27 28 29]]]


上記の 2 つの例を通じて、numpy での次元交換の手法を実証しました。 transpose() 関数と swapaxes() 関数を使用すると、さまざまな問題のニーズに合わせて配列の次元を簡単に交換できます。パラメータを調整することで異次元交換演算を実現できるため、多次元配列データをより柔軟に処理できます。

以上がNumpyで次元交換を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。