import numpy as np
A = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
i = [0, 3, 6, 7, 8]
argA = np.argwhere(A[i]<8)
argList = [argA[idx][0] for idx in range(len(argA))]
desList = [i[idx] for idx in argList]
desListOfLists = [[x] for x in desList]
desArray = np.array(desListOfLists)
由于其他读者可能想要稍微不同的输出类型,我已经包括了三个:list; list of lists和ndarray: desList生成
2条答案
按热度按时间bksxznpy1#
np.argwhere
给出了切片中的索引。我们已经知道如何将切片中的索引转换为数组中的索引:切片中的索引x
对应于数组中的索引i[x]
,所以我们只需要用np.argwhere
的结果索引到i
!arr_lt8
现在是期望值:anhgbhbe2#
由于其他读者可能想要稍微不同的输出类型,我已经包括了三个:list; list of lists和ndarray:
desList生成
desListOfLists生成
desArray生成
这是最初的要求