Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Insert elements to beginning and end of numpy array

Tags:

I have a numpy array:

import numpy as np
a = np.array([2, 56, 4, 8, 564])

and I want to add two elements: one at the beginning of the array, 88, and one at the end, 77.

I can do this with:

a = np.insert(np.append(a, [77]), 0, 88)

so that a ends up looking like:

array([ 88,   2,  56,   4,   8, 564,  77])

The question: what is the correct way of doing this? I feel like nesting a np.append in a np.insert is quite likely not the pythonic way to do this.

like image 333
Gabriel Avatar asked Sep 28 '15 17:09

Gabriel


People also ask

How do I add an element to the end of a NumPy array?

You can add a NumPy array element by using the append() method of the NumPy module. The values will be appended at the end of the array and a new ndarray will be returned with new and old values as shown above. The axis is an optional integer along which define how the array is going to be displayed.

How would you insert an element at the end of an array in Python?

If you are using array module, you can use the concatenation using the + operator, append(), insert(), and extend() functions to add elements to the array. If you are using NumPy arrays, use the append() and insert() function.

How do you add data at the end of an array?

The array_push() function inserts one or more elements to the end of an array.


2 Answers

Another way to do that would be to use numpy.concatenate . Example -

np.concatenate([[88],a,[77]])

Demo -

In [62]: a = np.array([2, 56, 4, 8, 564])

In [64]: np.concatenate([[88],a,[77]])
Out[64]: array([ 88,   2,  56,   4,   8, 564,  77])
like image 185
Anand S Kumar Avatar answered Sep 23 '22 21:09

Anand S Kumar


You can use np.concatenate -

np.concatenate(([88],a,[77]))
like image 22
Divakar Avatar answered Sep 19 '22 21:09

Divakar