我无法修改循环中numpy数组的实际值。 我的代码如下:修改数组numpy中的实际元素值
labels_class = np.copy(labels_train)
for label in labels_class:
labels_class[label] = 1 if (label == classifier) else 0
labels_class
- 是大小为N的和值[0,39]只是numpy的阵列。 循环中的值labels_class[label]
正确(==已修改),但循环外部的labels_class
保持不变。
我也曾尝试nditer
,没有工作:
for label in np.nditer(labels_class, op_flags=['readwrite']):
label = 1 if (label == classifier) else 0
在reference,据说
“实际修改数组的元素,X应与省略号索引”我该怎么做?什么是语法?
也许你打算通过numpy数组[enumerate](https://docs.python.org/2/library/functions.html#enumerate)。简单地遍历迭代器会产生迭代器的元素,而不是元素的索引。 – Shashank
我的意思是访问循环中的数组元素和它的_modifying_ _actual_值。 – Oleksandra
要真正改变'label',你必须使用类似'label [:] = ...'或'label [...] = ...'的东西。如果你想要去那条路线,查看'nditer'教程。 – hpaulj