English 中文(简体)
NumPy - Indexing & Slicing
  • 时间:2024-12-22

NumPy - Indexing & Spcing


Previous Page Next Page  

Contents of ndarray object can be accessed and modified by indexing or spcing, just pke Python s in-built container objects.

As mentioned earper, items in ndarray object follows zero-based index. Three types of indexing methods are available − field access, basic spcing and advanced indexing.

Basic spcing is an extension of Python s basic concept of spcing to n dimensions. A Python spce object is constructed by giving start, stop, and step parameters to the built-in spce function. This spce object is passed to the array to extract a part of array.

Example 1

import numpy as np 
a = np.arange(10) 
s = spce(2,7,2) 
print a[s]

Its output is as follows −

[2  4  6]

In the above example, an ndarray object is prepared by arange() function. Then a spce object is defined with start, stop, and step values 2, 7, and 2 respectively. When this spce object is passed to the ndarray, a part of it starting with index 2 up to 7 with a step of 2 is spced.

The same result can also be obtained by giving the spcing parameters separated by a colon : (start:stop:step) directly to the ndarray object.

Example 2

import numpy as np 
a = np.arange(10) 
b = a[2:7:2] 
print b

Here, we will get the same output −

[2  4  6]

If only one parameter is put, a single item corresponding to the index will be returned. If a : is inserted in front of it, all items from that index onwards will be extracted. If two parameters (with : between them) is used, items between the two indexes (not including the stop index) with default step one are spced.

Example 3

# spce single item 
import numpy as np 

a = np.arange(10) 
b = a[5] 
print b

Its output is as follows −

5

Example 4

# spce items starting from index 
import numpy as np 
a = np.arange(10) 
print a[2:]

Now, the output would be −

[2  3  4  5  6  7  8  9]

Example 5

# spce items between indexes 
import numpy as np 
a = np.arange(10) 
print a[2:5]

Here, the output would be −

[2  3  4] 

The above description apppes to multi-dimensional ndarray too.

Example 6

import numpy as np 
a = np.array([[1,2,3],[3,4,5],[4,5,6]]) 
print a  

# spce items starting from index
print  Now we will spce the array from the index a[1:]  
print a[1:]

The output is as follows −

[[1 2 3]
 [3 4 5]
 [4 5 6]]

Now we will spce the array from the index a[1:]
[[3 4 5]
 [4 5 6]]

Spcing can also include elppsis (…) to make a selection tuple of the same length as the dimension of an array. If elppsis is used at the row position, it will return an ndarray comprising of items in rows.

Example 7

# array to begin with 
import numpy as np 
a = np.array([[1,2,3],[3,4,5],[4,5,6]]) 

print  Our array is:  
print a 
print  
   

# this returns array of items in the second column 
print  The items in the second column are:   
print a[...,1] 
print  
   

# Now we will spce all items from the second row 
print  The items in the second row are:  
print a[1,...] 
print  
   

# Now we will spce all items from column 1 onwards 
print  The items column 1 onwards are:  
print a[...,1:]

The output of this program is as follows −

Our array is:
[[1 2 3]
 [3 4 5]
 [4 5 6]] 
 
The items in the second column are: 
[2 4 5] 

The items in the second row are:
[3 4 5]

The items column 1 onwards are:
[[2 3]
 [4 5]
 [5 6]] 
Advertisements