【问题标题】:numpy function to set elements of array to a value given a list of indicesnumpy函数将数组的元素设置为给定索引列表的值
【发布时间】:2012-01-12 11:18:31
【问题描述】:

我正在寻找一个 numpy 函数,它相当于:

indices = set([1, 4, 5, 6, 7])
zero    = numpy.zeros(10)
for i in indices:
    zero[i] = 42

【问题讨论】:

    标签: python numpy variable-assignment indices


    【解决方案1】:

    你可以给它一个索引列表:

    indices = [1, 4, 5, 6, 7]
    zero = numpy.zeros(10)
    zero[indices] = 42
    

    【讨论】:

      【解决方案2】:

      如果你有一个 ndarray:

      >>> x = np.zeros((3, 3, 3))
      >>> y = [0, 9, 18]
      >>> x
      array([[[ 0.,  0.,  0.],
             [ 0.,  0.,  0.],
             [ 0.,  0.,  0.]],
      
            [[ 0.,  0.,  0.],
             [ 0.,  0.,  0.],
             [ 0.,  0.,  0.]],
      
            [[ 0.,  0.,  0.],
             [ 0.,  0.,  0.],
             [ 0.,  0.,  0.]]])
      >>> np.put(x, y,  1)
      >>> x
      array([[[ 1.,  0.,  0.],
              [ 0.,  0.,  0.],
              [ 0.,  0.,  0.]],
      
             [[ 1.,  0.,  0.],
              [ 0.,  0.,  0.],
              [ 0.,  0.,  0.]],
      
             [[ 1.,  0.,  0.],
              [ 0.,  0.,  0.],
              [ 0.,  0.,  0.]]])
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-12-13
        • 1970-01-01
        • 1970-01-01
        • 2015-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多