我有一个名为l的列表,它有C个元素。
我有一个名为X的和数组。X有布尔数据(0或1)。它的维度为(20,C)。有20个列表,每个列表有C个元素
我想找到x中值为1的每个索引,然后我想要列表L中相同索引处的值,最后将L中的值存储在另一个数组中。我写了下面的代码
emptylist=[]
for index,value in np.ndenumerate(X): #this index is a tuple like (0,3)
tuple_to_list=list(i)
if value == 1:
emptylist.append (L[tuple_to_list[1]]) #error
程序不停止运行。你能指导我改进这段代码吗?
最后一行应为:
empylist.append(L[index[0]])
和我不知道你的tuple_to_list对
有什么用只使用数组的解决方案如下:
L = list(np.random.rand(20)) # gives a List of radom values (to be compatible to the question)
La = np.array(L)
X = randint(0,5,(20,101)) # make an array having values from 0...4
emptylist = La[np.where(X==1)[0]] #gives those rows of L where rows of X contain 1