我有一個numpy的數組:蟒numpy的:如何重複特定元件在numpy的陣列
arr=np.array([0,1,0,0.5])
我需要形成從它一個新的數組如下,使得每個零個元素被重複三次,每一個非-zero元素有2個前面的零,後面是非零數字。總之,每個元素重複三次,原樣爲零,非零有兩個先前的0,然後是數字本身。它如下所示:
([0,1,0,0.5])=0,0,0, [for index 0]
0,0,1 [for index 1]
0,0,0 [for index 2, which again has a zero] and
0,0,0.5
最終輸出應爲:
new_arr=[0,0,0,0,0,1,0,0,0,0,0,0.5]
np.repeat()重複所有的數組元素的n倍數,但我不希望出現這種情況完全相同。這應該怎麼做?謝謝您的幫助。
大!非常感謝!你能解釋一下((0,0),(2,0))嗎? – Ishi
@Ishi的確我可以。 '(0,0)'是爲上邊和下邊指定填充,而'(2,0)'是爲左邊和右邊指定填充。由於我們只想填充左邊,所以我們必須將其他所有內容都設置爲0.''constant''意味着0填充。樂意效勞。 –
明白了!非常好的解釋。另外,重塑(-1,)意味着我們沒有指定行數和列數,它們將與原始數據相同?謝謝你的幫助! – Ishi