Menu
Coddy logo textTech

Indicizzazione degli array

Lezione 12 di 18 del corso Fondamenti di NumPy di Coddy.

Un'altra ottima funzionalità di Numpy è la possibilità di selezionare indici specifici da un array. Inserisci una List tra le parentesi [] e specifica quali indici vuoi selezionare: ary[indices] 

Esempio 1

Recupera gli elementi 0th, 2nd, 4th:

x = np.arange(5, 15) # np.array([5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
x[[0, 2, 4]]
>>> [5, 7, 9]

Esempio 2

Recupera il primo e l'ultimo elemento (ma ora da un array 2D)

x = np.array([[0, 1], [2, 3], [4, 5], [6, 7]])
x[[0, -1]]
>>> [[0, 1], [6, 7]]

E per recuperare elementi specifici da un array 2D?

Usiamo ary[[Row indices], [Element indices]]

Esempio 3

Recupera il primo e l'ultimo elemento dalle righe 2nd e 3rd

x = np.array([
	[ 0,  1,  2,  3,  4,  5],
	[ 6,  7,  8,  9, 10, 11],
	[12, 13, 14, 15, 16, 17],
	[18, 19, 20, 21, 22, 23],
])
x[[1, 1, 2, 2], [0, -1, 0, -1]]
>>> [6, 11, 12, 17]

Che cosa è successo?

Numpy guarda l'indice corrispondente di ogni lista tra parentesi [] e restituisce l'elemento:

x[[1, 1, 2, 2], [0, -1, 0, -1]]

  • x[1, 0]  # --> 6
  • x[1, -1] # --> 11
  • x[2, 0]  # --> 12
  • x[2, -1] # --> 17

Come ottenere il primo e l'ultimo indice da tutte le righe?

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

challenge icon

Sfida

Facile

Data una matrice 2D ary, recupera tutti i numeri divisibili per cinque senza resto (0, 5, 10, ...) usando i metodi che abbiamo imparato in questa lezione.

Provalo tu

import numpy as np
'''
ary looks like:
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19]])
'''
ary = np.arange(0, 20).reshape(4, 5)  # don't change ary
res = ary[]  # <-- Complete indices
print(str(res).replace("\n", ""))  # don't change this line

Tutte le lezioni di Fondamenti di NumPy

Esercitati da solo: Compilatore Python online