「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python で行列を効率的に転置するにはどうすればよいですか?

Python で行列を効率的に転置するにはどうすればよいですか?

2024 年 11 月 8 日に公開
ブラウズ:588

How to Transpose a Matrix Efficiently in Python?

転置行列 Python の転置

転置操作は、行列の行と列を反転します。プログラミングで行列を扱う場合、この概念を理解することが重要です。 Python では、さまざまな方法を使用して行列の転置を実行でき、それぞれに異なるアプローチと効率があります。

Transpose using Zip with Asterisk

zip(*) は便利で、行列を転置する簡単な方法。行列内のすべての行の要素を結合し、タプルとして返します。これらのタプルは、リスト内包表記またはマップを使用してリストに変換し、行列転置を取得できます。

A = [[1, 2, 3], [4, 5, 6]]
transpose = [list(x) for x in zip(*A)]

アスタリスクを使用したリスト内包を使用した転置

前の方法と同様に、アスタリスクを使用したリスト内包行列を簡潔に転置するために使用できます:

transpose = [[row[i] for row in A] for i in range(len(A[0]))]

NumPy を使用した転置

NumPy は高度なPython での数値演算用に最適化されたライブラリ。行列の転置に利用できる便利な transpose() 関数を提供します:

import numpy as np
transpose = np.transpose(A)

パフォーマンスに関する考慮事項

小さな行列の場合、これらのメソッドの時間計算量は比較的重要ではありません。ただし、行列のサイズが増加するにつれて、NumPy の transpose() は、高度に最適化された実装により、他のアプローチよりも大幅に高速であることがわかります。

リリースステートメント この記事は次の場所に転載されています: 1729299736 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3