【问题标题】:create indices with numpy for zeros and ones使用 numpy 为零和一创建索引
【发布时间】:2019-05-19 14:12:07
【问题描述】:

我希望创建一个 numpy 形状数组,

(205, 2) 对于每个张量 [1,0] x 205 次,它应该看起来像这样。

我尝试使用np.ones([205,2])。但是,205 次的值为 [1,1] 而不是 205 次的 [1,0]。

我是编程新手,想在这里寻求所有大前辈的帮助。我只是一个小程序员。

【问题讨论】:

标签: python numpy


【解决方案1】:

可能有更好的方法(总会有更好的方法!),但我想到的是:

a = np.ones((205, 2)) - np.array((0, 1))

或者:

a = np.ones((205, 2))
a[:, 1] = 0

或者:

a = np.zeros((205, 2))
a[:, 0] = 1

后两种方案最快。

【讨论】:

  • 最后一个是最快的。
【解决方案2】:

另外一种使用np.tile()的方式:

np.tile([1,0], (205,1))

here

还有一种方法是使用np.broadcast_to():

np.broadcast_to([1,0], (205, 2))

here

编辑:DYZ 的解决方案使用np.zeros() 然后将1 分配给其他部分似乎是这里最快的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    相关资源
    最近更新 更多