如何重复或平铺numpy数组,但每次平铺一个元素时,如何更改其中的值?

如何重复或平铺numpy数组,但每次平铺一个元素时,如何更改其中的值?,numpy,repeat,tile,Numpy,Repeat,Tile,假设有一个numpy数组 a=[1,1,1,0] 我想将此数组平铺或重复3次,但每次平铺/重复时,使最后一个元素增加1 就是我要 result = [[1,1,1,0], [1,1,1,1], [1,1,1,2]] 最后 我想我看到有人用一个函数来做这件事,但我不记得那个函数是什么。 或者我可能错了。我也遇到了同样的问题,我没有找到如何只使用numpy。我发现的最简单的方法是首先将结果作为列表处理,一旦有了所需的数组,就将其更改为numpy import numpy as np a = np

假设有一个numpy数组 a=[1,1,1,0]

我想将此数组平铺或重复3次,但每次平铺/重复时,使最后一个元素增加1

就是我要

result = [[1,1,1,0], [1,1,1,1], [1,1,1,2]]
最后

我想我看到有人用一个函数来做这件事,但我不记得那个函数是什么。
或者我可能错了。

我也遇到了同样的问题,我没有找到如何只使用numpy。我发现的最简单的方法是首先将结果作为列表处理,一旦有了所需的数组,就将其更改为numpy

import numpy as np

a = np.array([1, 1, 1, 0])

#how often to repeat the array along first dimension?
b = 20

#repeat b times along first dimension, one time along second
x = np.tile(a, (b,1)) 

print(x)

#just some consecutive numbers
y = np.arange(20)
print(y)

#overwrite fourth column of array
x[:, 3] = y

print(x)
import numpy as np
n = 3
result = np.array([[1, 1, 1, i] for i in range(n)])
>>> [[1, 1, 1, 0], [1, 1, 1, 1], [1, 1, 1, 2]]

我也有同样的问题,我没有找到如何做到这一点,只有与numpy。我发现的最简单的方法是首先将结果作为列表处理,一旦有了所需的数组,就将其更改为numpy

import numpy as np
n = 3
result = np.array([[1, 1, 1, i] for i in range(n)])
>>> [[1, 1, 1, 0], [1, 1, 1, 1], [1, 1, 1, 2]]