NumPy | take method
Start your free 7-days trial now!
Numpy's take(~)
method is used to access values, rows and columns of an array.
Parameters
1. a
| array_like
The array to perform the method on.
2. indices
| number
or array_like
The indices of the values to be fetched. If you provide a number
type, then you're accessing a single value, row or column in the array. If array_like
type is provided, then you're accessing multiple rows/columns.
3. axis
| number
| optional
The axis along which to select values. By default, axis=None
, that is, your input array a
will be deemed as a flattened array.
Return value
Depending on the parameters, the return type will differ.
If no
axis
is provided, then you get a number since you're just accessing a single value.If
axis
is provided, then you get a Numpy array since you're accessing a row or a column.
Examples
Accessing a single value in a matrix
x = [[4,5,6], [7,8,9]]np.take(x, 1)
5
Remember, if you provide a number
type for the second argument, then Numpy will treat your input array as a flattened array, that is, x=[4,5,6,7,8,9]
. In this example, we're taking the first index of this flattened array, and so the value 5 is returned.
Accessing a single row of a matrix
To access a row of a matrix, supply the parameter axis=0
.
x = [[4,5,6], [7,8,9]]np.take(x, 1, axis=0)
array([7, 8, 9])
To clarify what this code is doing, we're just fetching the 2nd row (i.e. rows also follow index order, so that's why we set 1 as the second argument):
Accessing a single column of a matrix
To access a column of a matrix, supply the parameter axis=1
.
x = [[4,5,6], [7,8,9]]np.take(x, 1, axis=1)
array([5, 8])
To clarify what this code is doing, we're just fetching the 2nd column (i.e. columns also follow index order, so that's why we set 1 as the second argument):
Accessing multiple rows of a matrix
To access multiple columns of a matrix, supply the parameter axis=0
, and provide type array-like
for the second argument:
x = [[4,5,6], [7,8,9]]np.take(x, [0,1], axis=0)
array([[4, 5, 6], [7, 8, 9]])
We're accessing 1st and 2nd rows, as in:
Accessing multiple columns of a matrix
To access multiple columns of a matrix, supply the parameter axis=1
, and provide type array-like
for the second argument:
x = [[4,5,6], [7,8,9]]np.take(x, [0,2], axis=1)
array([[4, 6], [7, 9]])
We're accessing the 1st and 3rd columns, as in: