對于一維 numpy 陣列:[0, 0, 0, 0, 0, 0, 0, 0, 0, 1],我想通過說 5 個這樣的陣列沿軸 = 1 堆疊來重復它。期望的輸出:
[[0., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 1.]]
uj5u.com熱心網友回復:
您可以通過以下方式做到這一點:
np.array([a] * 5)
uj5u.com熱心網友回復:
您可以使用np.repeat做到這一點
np.repeat([[0, 0, 0, 0, 0, 0, 0, 0, 0, 1]], 5, axis=0)
產生:
array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1]])
uj5u.com熱心網友回復:
您可以使用 np.tile 實作此目的:
np.tile([0, 0, 0, 0, 0, 0, 0, 0, 0, 1], (5, 1))
輸出:
array([
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
])
uj5u.com熱心網友回復:
在回圈中使用 NumPy 追加:
import numpy as np
output = lst = np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 1])
for i in range(5 - 1): #Put your desired number here instead of the 5
output = np.append(output, lst)
output = output.reshape(-1, len(lst)) #Reshaping
print(output)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/488946.html
下一篇:洗掉兩條曲線之間的交點
