【发布时间】:2020-10-14 15:04:03
【问题描述】:
是否可以更换
np.concatenate([np.where(x == i)[0] for i in range(y)])
使用不涉及循环的东西?
我想取一个数组 x,例如[0, 1, 2, 0 , 2, 2] 和数字 y,例如2 在这种情况下,并输出一个数组 [0, 3, 1, 2, 4, 5]。 例如。对于数组中的每个整数,将它们的索引位置写成“有序”。
也许某种 numpy 函数可以比这个列表理解提供性能提升?
【问题讨论】:
-
如果
y=2np.concatenate([np.where(x == i)[0] for i in range(y)])不会返回 [0, 3, 1, 2, 4, 5] 因为range(y)给出了列表的可迭代[0, 1]
标签: python performance numpy