对于索引列表,将索引左侧的所有元素都设置为1,将索引右侧的所有元素设置为0



假设我有一个指数列表:

np.array([1, 3, 2, 4])

如何创建以下矩阵,其中索引左侧的所有元素都是1,索引右侧的所有元素是0?

[[1, 1, 0, 0, 0, 0],
[1, 1, 1, 1, 0, 0],
[1, 1, 1, 0, 0, 0],
[1, 1, 1, 1, 1, 0]]
1*(np.arange( 6 ) <= arr[:,None])
# array([[1, 1, 0, 0, 0, 0],
#        [1, 1, 1, 1, 0, 0],
#        [1, 1, 1, 0, 0, 0],
#        [1, 1, 1, 1, 1, 0]])

这跨行广播6个元素的阵列,跨列广播索引的阵列。1*将布尔值转换为整数。

最新更新