2
更换每行具体列索引
我尝试以下操作:NumPy的使用索引列表与南
a = np.array([[1,2,3], [4,5,6], [7,8,9]])
print a
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
a[np.arange(len(a)), [1,0,2]] = 20 #--Code1
print a
array([[ 1, 20, 3],
[20, 5, 6],
[ 7, 8, 20]])
但是,如果我的索引中他们有nan
为:
a[np.arange(len(a)), [1,np.nan,2]] = 20 #--Code2
它出错。
我想要做的是,如果索引中存在nan
,请不要更改任何内容。
即我想要实现上述Code2
,这样我可以得到如下:
array([[ 1, 20, 3],
[4, 5, 6],
[ 7, 8, 20]])