在numpy数组列中插入一个值,并保持相同的大小/行值

时间:2018-03-20 20:54:57

标签: python numpy

标题不是最好的,但基本上我需要在(y,x)处插入一个值并移动列直到满足-1,我插入一个新值并删除-1。以下是在(2,1)处插入(100)的示例:

--debug

会变成:

b = np.array([[1,-1,3],
     [2,5,6],
     [6,8,9],
     [10,4,3])

此示例适用于我需要在列中插入但最终我还必须为行执行此操作的情况。 Numpy阵列可能不是最好的DS,所以如果你有更好的想法,不要犹豫。谢谢!

1 个答案:

答案 0 :(得分:0)

首先,让我们导入numpy并定义你的数组:

>>> import numpy as np
>>> b = np.array([[1,-1,3], [2,5,6], [6,8,9], [10,4,3]])

现在,要进行替换,请尝试:

>>> b[:, 1] = np.concatenate((b[1:3, 1], [100], b[3:, 1]))
>>> b
array([[  1,   5,   3],
       [  2,   8,   6],
       [  6, 100,   9],
       [ 10,   4,   3]])