【问题标题】:append element to the end of each arrow in numpy array将元素附加到numpy数组中每个箭头的末尾
【发布时间】:2017-03-03 00:42:01
【问题描述】:

如果我有一个像这样的 numpy 数组:

x= [[3, 3], [2, 2]]

我想在每行的末尾添加一个元素-1,如下所示:

x= [[3, 3, -1], [2, 2, -1]]

有什么简单的方法吗?

【问题讨论】:

    标签: python arrays numpy append


    【解决方案1】:

    一个简单的方法是使用np.insert -

    np.insert(x,x.shape[1],-1,axis=1)
    

    我们也可以使用np.column_stack -

    np.column_stack((x,[-1]*x.shape[0]))
    

    示例运行 -

    In [161]: x
    Out[161]: 
    array([[0, 8, 7, 0, 1],
           [0, 1, 8, 6, 8],
           [3, 4, 7, 0, 2]])
    
    In [162]: np.insert(x,x.shape[1],-1,axis=1)
    Out[162]: 
    array([[ 0,  8,  7,  0,  1, -1],
           [ 0,  1,  8,  6,  8, -1],
           [ 3,  4,  7,  0,  2, -1]])
    
    In [163]: np.column_stack((x,[-1]*x.shape[0]))
    Out[163]: 
    array([[ 0,  8,  7,  0,  1, -1],
           [ 0,  1,  8,  6,  8, -1],
           [ 3,  4,  7,  0,  2, -1]])
    

    【讨论】:

    • 非常简洁优雅!
    • 我试过 np.insert(x,x.shape[1],-1,axis=1),效果很好。谢谢你 Divakar :)
    猜你喜欢
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    • 1970-01-01
    • 2021-09-07
    • 2019-10-17
    • 2013-07-15
    • 2014-03-22
    相关资源
    最近更新 更多