2017-05-10 8 views
0

私は配列がxで、5x3ですべて0であると言います。さまざまなインデックス位置で配列要素を置き換えるにはどうすればよいですか?

x = numpy.zeros([5,3]) 

Iは、行ごとに変化する列インデックスで1つのものと0年代の一部を交換できるようにしたいです。例えば、私はこの

[[0,0,1], 
[0,1,0], 
[1,0,0], 
[0,1,0], 
[0,0,1]] 

のようなものを探しています

私の知っている任意のファンシーインデックス技術は、1つの急襲に1つので0年代のすべてを交換したり、インデックスの選択では、あまりにも柔軟性に欠けているだろう。たとえば、各行1の最後の2つの列を作成することができます。基本的には、すべての行の同じ列インデックスの値を置き換えることができますが、行の値が変更される列インデックスが必要です。行。

+1

ちょうど行います 'X [np.arange(5)、[2,1,0,1,2]] = '1'。 – Divakar

+0

ありがとう、これは完璧です。私はx [:, [2,1,0,1,2]] = 1 – Manuel

答えて

1

Index Arrayを使用すると、任意の場所にインデックスを付けることができます。だから、あなたが行うことができますコメントで述べたよう

x[np.arange(5), [2,1,0,1,2]] = 1 
関連する問題