【问题标题】:expand and populate numpy array展开并填充 numpy 数组
【发布时间】:2017-10-03 23:20:16
【问题描述】:

扩展和填充 python numpy 数组的最简单方法是什么?最初的numpy数组是:

[[1,3], [1,2], [1,5]]

展开后的数组应该是:

[[1,3,9,27], [1,2,4,8], [1,5,25,125]]

新添加的列是第二列的平方和立方值。

谢谢!

【问题讨论】:

    标签: python arrays numpy


    【解决方案1】:

    使用a[:,[1]] 分割第二列,使用broadcasting 执行电源操作**[2,3],因为我们保留了尺寸,然后使用np.c_ 将输出堆叠为新列(其中之一堆叠方式)。

    因此,实现 -

    np.c_[a,a[:,[1]]**[2,3]]
    

    样本输出 -

    In [902]: np.c_[a,a[:,[1]]**[2,3]]
    Out[902]: 
    array([[  1,   3,   9,  27],
           [  1,   2,   4,   8],
           [  1,   5,  25, 125]])
    

    【讨论】:

    • 你是最棒的!
    【解决方案2】:

    您只需跳过每一行中的 1,然后使用广播形成所需的笛卡尔积。

    import numpy as np
    
    a = np.array([[1,3], [1,2], [1,5]])
    b = a[:, 1:] ** np.arange(4)
    print(b)
    

    输出

    [[  1   3   9  27]
     [  1   2   4   8]
     [  1   5  25 125]]
    

    【讨论】:

      猜你喜欢
      • 2018-05-07
      • 1970-01-01
      • 2016-11-06
      • 1970-01-01
      • 2018-10-05
      • 2017-10-24
      • 1970-01-01
      • 1970-01-01
      • 2015-03-09
      相关资源
      最近更新 更多