ホームページ  >  記事  >  バックエンド開発  >  なぜ `a.T` は 1D NumPy 配列を転置しないのでしょうか?

なぜ `a.T` は 1D NumPy 配列を転置しないのでしょうか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-10 21:46:021035ブラウズ

Why Doesn't `a.T` Transpose a 1D NumPy Array?

1D NumPy 配列を転置する方法

Python の NumPy ライブラリを使用する場合、配列を操作するには転置の概念を理解することが重要です。ただし、1D 配列を転置しようとすると混乱が生じる可能性があります。

説明として、次のコードを考えてみます。

import numpy as np
a = np.array([5,4])
print(a)
print(a.T)

このコードの出力では、a.T が配列を次のように転置しないことがわかります。期待される。これは、1D 配列の転置も 1D 配列であるためです。対照的に、配列が `[[],[]] などの 2D である場合、転置により行と列が正しく交換されます。

1D 配列の目的の転置を取得するには、それを 1D 配列に変換します。 2D 配列を転置します。これは、配列に追加の次元を追加する np.newaxis (または None) を使用して実現されます。

a = np.array([5,4])[np.newaxis]
print(a)
print(a.T)

このプロセスは、ベクトルを列ベクトルに効果的に変換し、それを正しく転置します。

NumPy は計算で 1D 配列を自動的にブロードキャストし、行と列を区別する必要性を効果的に排除するため、ほとんどの場合、追加の次元を追加する必要がないことに注意することが重要です。ベクトル。

以上がなぜ `a.T` は 1D NumPy 配列を転置しないのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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