私は自分でPythonを学習していますが、行列を作成したいと思います。インターネットで読んで私が行列を定義する多くの方法を発見し、私はこれらの2つの方法を選択することにしました:Pythonの行列から列配列を選択する方法
import numpy as np
# Method 1
w, h = 5, 5
M = [[0 for x in range(w)] for y in range(h)]
M[1][2] = 100 # ok
m = M[:,2] # <----- Why is it not possible?
# Method 2
A = np.zeros((5, 5))
A[1][2] = 100 # ok
a = A[:,2] # <----- Why is it possible?
どちらの場合も、私は行列を構築することができるが、私は配列を定義しようとすると問題が発生します行列自体の1つの列を選択する。 2番目のケースではa
を定義することができますが、私はm
について同じことをすることはできません。私は何を間違えているのですか?
Mから列を抽出するにはどうすればよいですか?
私は、MとAは同じタイプの変数ではありませんが、正直なところ私はその違いを理解していないため、進める方法がわかりません。あなたも自分自身を発見したよう
<class 'list'> # M
<class 'numpy.ndarray'> # A
Mから列を抽出するには 'm = [sub [2] in M]' –
Numpyはこれらの種類の索引付けをサポートするライブラリです。 Pythonのリストはそうではありません。そのリストをnumpy配列に変換するには 'M = np.array(M)'を実行し、2番目の方法を使用することができます。 – ayhan
ありがとう、それは問題を解決しました –