【发布时间】:2023-04-06 02:15:01
【问题描述】:
我试图在这个数组中存储 1 和 0 的索引:
arr = [1. 0. 0. 1. 1. 1. 0. 1. 1. 1. 0. 1. 0. 1. 1. 0. 1. 0. 1. 1. 1. 0. 1. 1.
0. 1. 1. 1. 0. 0. 1. 1. 0. 1. 1. 1. 1. 0. 1. 1. 1. 1. 1. 0. 0. 1. 1. 1.
1. 1. 1. 1. 0. 0. 1. 0. 1. 0. 1. 1. 0. 1. 0. 0. 0. 1. 1. 0. 0. 0. 1. 0.
0. 1. 1. 0. 1. 1. 1. 1. 0. 1. 1. 1. 0. 1. 0. 1. 0. 1. 0. 1. 0. 1. 0. 1.
0. 0. 0. 0. 1. 0. 0. 1. 0. 1. 1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 0. 0. 0.
1. 1. 1. 0. 1. 1. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 1. 1. 0.]
这个 for 循环 ind_0 和 ind_1 是列表:
for i in range(len(arr)):
if arr[i]==0:
ind_0.append(arr.index[i])
if arr[i]==1:
ind_1.append(arr.index[i])
我收到一条错误消息,上面写着'numpy.ndarray' object has no attribute 'index'
。
问题是如何将元素的索引存储在数组中?我做错了吗?任何帮助表示赞赏
【问题讨论】:
-
请修正您的索引。看来您正在使用 numpy 数组。这是你的意图吗?如果是,就做
ind_1 = np.argwhere(arr==1)
,ind_0 = np.argwhere(arr==0)
-
想一想,尤其是变量
i
...检查时如何使用它,例如arr[i] == 0
?你不是已经把它用作索引了吗?那么为什么不将i
附加到您的列表中呢?
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在python中将元素的索引存储在数组中 - Python技术站