代码之家  ›  专栏  ›  技术社区  ›  Muhammad Ikhwan Perwira

基于引用索引的稀疏到密集转换的Numpython方法

  •  1
  • Muhammad Ikhwan Perwira  · 技术社区  · 2 周前

    我有这个稀疏向量 val 用这种Python方式:

    idx = [2, 5, 6]
    val = [69, 12, 15]
    
    _ = np.zeros(idx[-1]+1)
    
    for i in idx:
      _[i] = val[idx.index(i)]
    
    print(_)
    dbg(_)
    

    以下是输出:

    [ 0. 0. 69.  0. 0. 12. .15]
    (6,)
    float64
    

    在不使用for循环,而是使用numpythonic方式的情况下,我如何实现我的目标?

    1 回复  |  直到 2 周前
        1
  •  1
  •   hpaulj    2 周前
    idx = [2, 5, 6]
    val = [69, 12, 15]
    
    _ = np.zeros(idx[-1]+1)
    

    numpy允许您同时设置多个值

    _[idx] = val