ホームページ >バックエンド開発 >Python チュートリアル >1D NumPy 配列を転置しても形状が変わらないのはなぜですか?
1D NumPy 配列の転置: 驚くほど簡単な解決策
多くのプログラマは、1D NumPy 配列を転置しようとすると混乱に遭遇します。この問題を詳しく調べて、驚くほど簡単な解決策を明らかにしましょう。
NumPy では、.T で示される転置演算により、配列の次元が交換されます。ただし、配列が 1D の場合、その形状は転置後も同じままです。これは、結果として 2D 配列を期待している人にとっては不可解かもしれません。
例として、次のコードを考えてみましょう:
import numpy as np a = np.array([5, 4]) print(a) print(a.T)
出力は次のようになります:
[5 4] [5 4]
ご覧のとおり、1D 配列 a を転置しても形状は変化しません。これは、1D 配列の転置が依然として 1D 配列であるためです。
解決策は、転置する前に 1D 配列を 2D 配列に変換することです。これは、基本的に新しい軸を配列に挿入する np.newaxis 関数を使用して実現できます。
a = np.array([5, 4])[np.newaxis] print(a) print(a.T)
出力は次のようになります。
[[5 4]] [[5] [4]]
1D 配列 a は次のようになります。 2D 配列に正常に変換され、転置すると望ましい結果が得られます。
ほとんどの場合、次のことに注意することが重要です。転置のために 1D 配列を 2D 配列に手動で変換する必要はありません。 NumPy はさまざまな操作を実行するときに 1D 配列を自動的にブロードキャストするため、次元を気にする必要がなくなります。
以上が1D NumPy 配列を転置しても形状が変わらないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。