我有一个n行大小为3的numpy数组A.每行由三个整数组成,每个整数指向numpy数组内的另一个位置。例如,如果我要使用N[4]
表示的行,我使用N[N[4]]
。目测:numpy数组中的奇怪赋值
N = np.array([[2, 3, 6], [12, 6, 9], [3, 10, 7], [8, 5, 6], [3, 1, 0] ... ])
N[4] = [3, 1 ,0]
N[N[4]] = [[8, 5, 6]
[12, 6, 9]
[2, 3, 6]]
我建立修饰N A功能,并且我需要修改N [N [X]]对于一些指定的x,它是(在实施例4)的参数也。我想改变所有的6子数组中的另一个号码(假设0),所以我用numpy.where找到索引,这是
where_is_6 = np.where(N[N[4]] == 6)
现在,如果我直接替换像N[N[4]][where_is_6] = 0
没有更改。如果我使用以前的参考像var = N[N[4]]
然后var[where_is_6]
更改已完成,但在本地对该功能,并且N不会全局更改。在这种情况下我能做什么?或者我做错了什么?
另一个索引,索引将不会与您已经定义列表'N'的方式工作。你需要首先将N转换为'numpy.array()'。 – 2014-09-10 21:45:43
我说这是一个numpy数组,代码虽然没有反映出来,现在正在编辑... – 2014-09-10 21:46:26