[Numpy-discussion] Simple way to shift array elements

Keith Goodman kwgoodman@gmail....
Sat Apr 10 19:30:24 CDT 2010


On Sat, Apr 10, 2010 at 5:17 PM, Gökhan Sever <gokhansever@gmail.com> wrote:
> Hello,
>
> Is there a simpler way to get "c" from "a"
>
> I[1]: a = np.arange(10)
>
> I[2]: b = a[3:]
>
> I[3]: b
> O[3]: array([3, 4, 5, 6, 7, 8, 9])
>
> I[4]: c = np.insert(b, [7]*3, 0)
> O[5]: array([3, 4, 5, 6, 7, 8, 9, 0, 0, 0])
>
> a and c have to be same in length and the left shift must be balanced with
> equal number of 0's

Does this count as simpler?

>> c = np.zeros_like(a)
>> c[:-3] = a[3:]


More information about the NumPy-Discussion mailing list