Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで行列を転置しますか?


行列を転置するということは、その列をその行に変換することを意味します。転置後にどのように見えるかを例で理解しましょう。

-

のような元の行列があるとします。
x = [[1,2][3,4][5,6]]

上記の行列「x」には、1、3、5と2、4、6を含む2つの列があります。

したがって、行列「x」の上に転置すると、列が行になります。したがって、上記のマトリックスの転置バージョンは次のようになります-

x1 = [[1, 3, 5][2, 4, 6]]

したがって、別のマトリックス「x1」があります。これは、さまざまな場所でさまざまな値を使用してさまざまに編成されています。

以下は、Pythonでこれを実現するためのいくつかの方法です-

方法1- ネストされたループを使用した行列の転置-

#Original Matrix
x = [[1,2],[3,4],[5,6]]
result = [[0, 0, 0], [0, 0, 0]]
# Iterate through rows
for i in range(len(x)):
   #Iterate through columns
   for j in range(len(x[0])):
      result[j][i] = x[i][j]
   for r in Result
print(r)

結果

[1, 3, 5]
[2, 4, 6]

方法2- ネストされたリスト内包表記を使用した行列の転置。

#Original Matrix
x = [[1,2],[3,4],[5,6]]
result = [[x[j][i] for j in range(len(x))] for i in range(len(x[0]))]
for r in Result
   print(r)

結果

[1, 3, 5]
[2, 4, 6]

リスト内包表記を使用すると、簡潔なコードを記述できるため、Pythonで頻繁に使用する必要があります。

方法3- Zipを使用したマトリックス転置

#Original Matrix
x = [[1,2],[3,4],[5,6]]
result = map(list, zip(*x))
for r in Result
   print(r)

結果

[1, 3, 5]
[2, 4, 6]

方法4- numpyライブラリを使用した行列転置Numpyライブラリは、大規模な多次元配列を効率的に操作するために構築された配列処理パッケージです。

import numpy
#Original Matrix
x = [[1,2],[3,4],[5,6]]
print(numpy.transpose(x))

結果

[[1 3 5]
[2 4 6]]


  1. 行列の転置を見つけるPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 行列が与えられた場合、転置を同じ行列に格納して表示する必要があります。 行列の転置は、行を列に、列を行に変更することで得られます。つまり、A行列の転置はA[i][j]をA[j][i]に変更することで得られます。 以下に示す実装を見てみましょう- 例 N = 4 def transpose(A):    for i in range(N):       for j in range(i+1, N):     &nbs

  2. Pythonを使用して行列を転置する方法は?

    行列の行と列が入れ替わると、行列は転置されたと言われます。 Pythonでは、マトリックスは同数のアイテムのリストのリストに他なりません。 3行2列のマトリックスがリストオブジェクトの後にあります X = [[12,7],     [4 ,5], [3 ,8]] 転置された外観は2行3列になります。ネストされたループを使用すると、これを実現できます。 X = [[12,7],     [4 ,5],     [3 ,8]] result = [[0,0,0],         &nbs