我有一个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