から行を抽出私はPythonのnumpyの:配列
t = T[153,:]
を用いnumpyのアレイから列を抽出しようとしているしかし、私はここでT
のサイズが(17576、31)であることを発見しています、 t
のサイズは(31、) - サイズが一致しません。
寸法(、31)または(1,31)を私の機能に入力できるようにするには、t
が必要です。私は転位を取ろうとしましたが、うまくいきませんでした。
誰かが簡単な問題ですべきことを教えてもらえますか?
感謝
から行を抽出私はPythonのnumpyの:配列
t = T[153,:]
を用いnumpyのアレイから列を抽出しようとしているしかし、私はここでT
のサイズが(17576、31)であることを発見しています、 t
のサイズは(31、) - サイズが一致しません。
寸法(、31)または(1,31)を私の機能に入力できるようにするには、t
が必要です。私は転位を取ろうとしましたが、うまくいきませんでした。
誰かが簡単な問題ですべきことを教えてもらえますか?
感謝
あなたはスライス表記で行を抽出することができます。
t = T[153:154,:] # will extract row 153 as a 2d array
例:これは意外に思えるかもしれないが、
がT = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
T[1,:]
# array([5, 6, 7, 8])
T[1,:].shape
# (4,)
T[1:2,:]
# array([[5, 6, 7, 8]])
T[1:2,:].shape
# (1, 4)
、それは実際には100%の慣用的です。もちろん
>>> l = list(range(10))
>>> l[4]
4
>>> l[4:5]
[4]
は、我々が通常の1-D配列に同じものを参照してください:あなたがリストをスライスするときにPythonでリストしたときにインデックスを取得し、あなたが何を得るのかについて考えてみ
>>> a = numpy.arange(10)
>>> a[4]
4
>>> a[4:5]
array([4])
:
>>> a = numpy.arange(25).reshape(5, 5)
>>> a[4]
array([20, 21, 22, 23, 24])
>>> a[4:5]
array([[20, 21, 22, 23, 24]])
形状はこの違いを反映:
そしてのでそれは我々が同様に2次元配列で同じものを見たいという理にかなっています
>>> a[4].shape
(5,)
>>> a[4:5].shape
(1, 5)
ありがとう、これは私がMatlabからの変換が困難であると分かっている領域のタイプです – jlt199