如何重复或平铺numpy数组,但每次平铺一个元素时,如何更改其中的值?
假设有一个numpy数组 a=[1,1,1,0] 我想将此数组平铺或重复3次,但每次平铺/重复时,使最后一个元素增加1 就是我要如何重复或平铺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
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]]