0

私がnumpy配列xを持っているとしましょう:

x = array([[  3,   2,   1],
           [  3,  25,  34],
           [ 33, 333,   3],
           [ 43,  32,   2]])

forループを明示的に記述せずに、次の操作を実行したいと思います。つまり、組み込みのループで自動を使用するメソッドを言います。

1)2番目の列をすべて1の列に置き換えます。

x = array([[  3,   1,   1],
           [  3,   1,  34],
           [ 33,   1,   3],
           [ 43,   1,   2]])

2)元の配列で、3番目の列を2番目と3番目の積に置き換えます。

x = array([[  3,   2,   1*2],
           [  3,  25,  34*25],
           [ 33, 333,   3*333],
           [ 43,  32,   2*32]])

3)最後に、条件に基づいて元の配列の2番目の列を置き換えたいと思います。

x[1] = 0  if x[0] > 5 else 4 

つまり、アレイは次のようになります。

x = array([[  3,   4,   1],
           [  3,   4,  34],
           [ 33,   0,   3],
           [ 43,   0,   2]])

助言がありますか ?ありがとう !

4

1 に答える 1

6

これはかなり基本的なものなので、numpyに関するドキュメントは読む価値があります...

  1. x[:,1]= 1
  2. x[:,2] *= x[:,1]
  3. x[:,1] = np.where( x[:,0] > 5, 0, 4 )
于 2012-07-23T00:33:54.547 に答える