[解決済み] Python 行ベクトルと列ベクトルの区別
2023-05-26 19:58:42
質問
Pythonで行ベクトルと列ベクトルを区別する良い方法はありますか?今のところ、私はnumpyとscipyを使っていて、私がこれまでに見たものは、私が1つのベクトルを与えるならば、例えば、次のとおりです。
from numpy import *
Vector = array([1,2,3])
のように、行ベクトルか列ベクトルかを判断することはできないでしょう。しかも
array([1,2,3]) == array([1,2,3]).transpose()
True
これは現実の世界ではありえないことです。
私は、前述のモジュールからのベクトルに対する関数のほとんどは、微分を必要としないことを理解しています。例えば
outer(a,b)
または
a.dot(b)
といった具合ですが、自分の都合で区別しておきたいと思います。
どのように解決するのですか?
配列に別の次元を追加することで、区別を明示することができます。
>>> a = np.array([1, 2, 3])
>>> a
array([1, 2, 3])
>>> a.transpose()
array([1, 2, 3])
>>> a.dot(a.transpose())
14
今度は強制的に列ベクトルにします。
>>> a.shape = (3,1)
>>> a
array([[1],
[2],
[3]])
>>> a.transpose()
array([[1, 2, 3]])
>>> a.dot(a.transpose())
array([[1, 2, 3],
[2, 4, 6],
[3, 6, 9]])
もう一つの選択肢は、区別したいときにnp.newaxisを使用することです。
>>> a = np.array([1, 2, 3])
>>> a
array([1, 2, 3])
>>> a[:, np.newaxis]
array([[1],
[2],
[3]])
>>> a[np.newaxis, :]
array([[1, 2, 3]])
関連
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 0から9までのランダムな整数を生成する
-
[解決済み] 既存のDataFrameに新しい列を追加する方法は?
-
[解決済み] リストにおけるdel、remove、popの違いについて
-
[解決済み] リストとタプルの違いは何ですか?
-
[解決済み] Pythonの旧スタイルのクラスと新スタイルのクラスの違いは何ですか?
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
-
[解決済み] 辞書のキーと値を交換するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] Pythonのキャッシュライブラリはありますか?
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] 小数点以下1桁を取得する[重複]。
-
[解決済み] python-requests モジュールからのすべてのリクエストをログに記録します。
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
-
[解決済み] Python Logging でログメッセージが2回表示される件
-
[解決済み] Django で全てのリクエストヘッダを取得するにはどうすれば良いですか?
-
[解決済み] PyQtアプリケーションのスレッド化。QtスレッドとPythonスレッドのどちらを使うか?
-
[解決済み] あるメソッドが複数の引数のうち1つの引数で呼び出されたことを保証する