【发布时间】:2021-03-22 14:10:11
【问题描述】:
我有一个 0 和 1 的 numpy 数组。
def random_array(p):
return np.random.choice(2, 6, p=[p, 1-p])
my_matrix = np.array([random_array(j) for j in np.random.uniform(0.3, 1.0, 4)])
我可以得到所有零零元素的索引为np.nonzero(my_matrix)。请您帮我将所有这些索引分配给它所在的列号(即使列索引也可以,我们从 0 而不是 1 开始)。例如,
array([[0, 2, 0, 4, 5, 6],
[0, 0, 0, 4, 5, 0],
[1, 2, 0, 4, 0, 0],
[0, 2, 3, 4, 5, 6]])
在这里,所有的 1 都被替换为列号。因此,这是一个所有非零元素都是 1 的矩阵。如果你能找到 column 的索引,那么它也将是 fibulas,因为我可以通过添加 1 得到相同的结果。
注意:我不希望为此任务使用任何循环。
【问题讨论】:
标签: python arrays numpy matrix