gpt4 book ai didi

python - 修改数组numpy中的实际元素值

转载 作者:太空宇宙 更新时间:2023-11-04 07:38:06 27 4
gpt4 key购买 nike

我无法在循环中修改 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 应该用省略号索引”

我该怎么做?语法是什么?

最佳答案

您的迭代器不是在创建索引,而是在数组中创建实际元素

for label in labels_class

在上面的 label 中不是一个索引,而是你试图改变的实际元素

你可以这样做:

for i, label in enumerate(labels_class):
labels_class[i] = 1 if (label == classifier) else 0

关于python - 修改数组numpy中的实际元素值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29478748/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com