Python での行列加算の完全ガイド
公開: 2023-01-21Python は、さまざまな操作を実行するための基盤を保持する言語です。 この記事では、Python での行列の加算について詳しく見ていきます。
行列は、シンボル、数値、またはその他のオブジェクト表現の配列の長方形表現として定義され、行と列を使用して表現されます。 たとえば、3*3 行列である行列 P を考えてみましょう。 次のように表すことができます。
数学では、行列は、行と列の形式で配置され、長方形の形式で表される記号、数値、または式の配列に他なりません。 例: 2*3 行列 A を考えてみましょう。次のように表されます。
2 4 7
A= 3 5 9
6 1 8
これらの行列に対して、加算、減算、除算などのさまざまな演算を実行できます。 ここで、Python での行列の加算について、より深い洞察を見てみましょう。
upGrad のデータ サイエンス コースをチェックしてください
目次
Python でのマトリックス加算
このセクションでは、Python で行列の加算がどのように機能するか、およびそのためのさまざまな方法を見て理解します。
他のタイプの加算と同様に、ある行列の要素を別の行列の要素に加算することは、行列加算として知られています。 たとえば、行列 A の要素が行列 B の要素に加算される場合、行列 C は加算の結果、つまり C= A+B を格納します。
Python では、行列の加算は同じ形状の行列に対してのみ実行できます。つまり、A が 2*3 行列の場合、同じ 2*3 の行列 B と加算できますが、行列である C とは加算できません。 3*3 マトリックス。
Python での行列の加算について留意すべきもう 1 つの重要な注意事項は、この特定の言語では、加算の流れが一方向のみであるということです。 行列 A[1,1] の最初の要素は、行列 B[1,1] の最初の要素にのみ追加できることを意味します。
人気のデータ サイエンス コースを探す
IIITBのデータサイエンスのエグゼクティブポスト大学院プログラム | ビジネス上の意思決定のためのデータ サイエンスのプロフェッショナル認定プログラム | アリゾナ大学でデータ サイエンスの理学修士号を取得 |
IIITB のデータ サイエンスの高度な証明書プログラム | メリーランド大学のデータ サイエンスとビジネス分析のプロフェッショナル認定プログラム | データサイエンスコース |
他の方法に移る前に、Python での基本的な行列の加算を理解するための例を見てみましょう。
2 3 4 1 1 1
A= 1 5 8 B= 2 2 2
7 6 9 1 1 1
3 4 5
C = A+B = 3 7 10
8 7 10
Python での行列加算のさまざまな方法
Python で行列を追加するには、3 つの基本的な方法があります。 説明的な例を使用して、それぞれを理解しましょう。
入れ子リスト内包表記を利用した行列加算
Python の最も優れた特徴の 1 つはリスト内包表記です。これは、リストを作成するために反復可能なオブジェクトを反復処理するインテリジェントな方法として定義されています。 ネストされたループと同様に、ネストされたリスト内包表記は、別のリスト内包表記内にネストされたリスト内包表記です。
これを使用して、行列をネストされたリストとして実装できます。
人気のデータ サイエンス記事を読む
データ サイエンスのキャリア パス: 包括的なキャリア ガイド | データ サイエンスのキャリア成長: 仕事の未来はここにあります | データ サイエンスが重要な理由データ サイエンスがビジネスに価値をもたらす 8 つの方法 |
マネージャーにとってのデータサイエンスの関連性 | すべてのデータ サイエンティストが持つべき究極のデータ サイエンス チート シート | データ サイエンティストになるべき 6 つの理由 |
データ サイエンティストの 1 日: 彼らは何をしているのか? | 神話の崩壊: データ サイエンスにコーディングは必要ない | ビジネス インテリジェンスとデータ サイエンスの違い: 違いは何ですか? |
以下は、理解を深めるための例です。
例えば。
# リスト内包表記で 2 つの行列を追加するプログラム
A= [ [2, 3, 4], [1, 5, 8], [7, 6, 9] ]
B= [ [4, 2, 2], [1, 4, 1], [2, 2, 4] ]
Output=[ [A[i][j] + B[i][j] for j in range(len(A[0])) ] for i in range (len(A)) ]
出力の r の場合:
印刷(r)
#OUTPUT: [ [6, 5, 6], [2, 9, 9], [9, 8, 13] ]
ネストされたループを利用した行列加算
ご存知のように、ネストされたループはループ内のループです。 Python での行列の加算の場合、ネストされたループがすべての列と行を反復し、反復の各ループの後、行列のそれぞれの要素が追加され、3 番目の行列に格納されます。
例えば。
#ネストされたループを使用して 2 つの行列を追加するプログラム
A= [ [2, 3, 4], [1, 5, 8], [7, 6, 9] ]
B= [ [2, 1, 2], [1, 2, 1], [2, 3, 2] ]
0 0 0
出力= 0 0 0
0 0 0
#行を繰り返す
範囲内の i の場合 (len(A)):
#列を繰り返す
範囲内の j の場合 (len(A[0])):
出力[i][j]= A[i][j] + B[i][j]
出力の r の場合:
印刷(r)
#OUTPUT: [ [4, 4, 6], [2, 7, 9], [9, 9, 11] ]
SUM & ZIP() 関数を利用した行列加算
Python の zip() 関数は基本的に、マトリックスのすべての要素の反復子を受け入れ、それらをマップして sum() 関数を介して追加します。
例えば。
#sum と zip() で 2 つの行列を加算するプログラム
A= [ [2, 3, 4], [1, 5, 8], [7, 6, 9] ]
B= [ [2, 2, 1], [1, 1, 2], [1, 2, 2] ]
出力 = [map (sum, zip(*i) ) for i in zip( A, B) ]
印刷(出力)
#出力: [ [4, 5, 5], [2, 6, 10], [8, 8, 11] ]
結論
上記で説明したPythonでの行列加算のさまざまな方法の中で、要件と利便性に応じてそれらのいずれかを使用できます。 ただし、リスト内包表記は、その正確さから、最も簡単で好ましい方法の 1 つです。
タブロー、データ サイエンスについて学びたい場合は、IIIT-B & upGrad のデータ サイエンスのエグゼクティブ PG プログラムをチェックしてください。このプログラムは、働く専門家向けに作成されており、10 以上のケース スタディとプロジェクト、実践的なハンズオン ワークショップ、業界の専門家による指導を提供しています。 、業界のメンターとの 1 対 1 のセッション、400 時間以上の学習、トップ企業での仕事の支援。