我無法修改循環中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