0Pricing
Learn AI with Python · Lezione

Indicizzazione, slicing e fancy indexing

Slicing di base, mascheramento booleano, fancy indexing e np.where() per la selezione condizionale.

Indicizzazione, slicing e fancy indexing è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.

Nozioni di base sull'indicizzazione

Gli array NumPy usano un'indicizzazione a base zero, come le liste Python. Gli indici negativi contano a partire dalla fine.

import numpy as np
a = np.array([10, 20, 30, 40, 50])
print(a[0])    # 10
print(a[-1])   # 50

Slicing 1D

Lo slicing utilizza start:stop:step e restituisce una vista (non una copia), quindi modificare uno slice modifica l'originale.

print(a[1:4])    # [20 30 40]
print(a[::2])    # [10 30 50]
view = a[1:3]
view[0] = 99
print(a)         # [10 99 30 40 50]

Indicizzazione 2D [riga, colonna]

Per gli array 2D, utilizzi un'unica parentesi quadra contenente entrambe le coordinate: m[row, col]. È più chiaro e veloce di m[row][col].

m = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(m[1, 2])   # 6
print(m[0, 0])   # 1

Slicing di righe e colonne

Utilizzi i due punti per selezionare un intero asse. m[:, 1] seleziona la colonna 1 in tutte le righe.

print(m[0, :])    # first row:    [1 2 3]
print(m[:, 1])    # second col:   [2 5 8]
print(m[1:, :2])  # bottom-left block

Maschere booleane

Un confronto produce un array booleano della stessa forma. L'indicizzazione con quella maschera conserva solo le posizioni True.

a = np.array([5, 12, 7, 20, 3])
mask = a > 8
print(mask)     # [False  True False  True False]
print(a[mask])  # [12 20]

Combinare le condizioni

Utilizzi & (and) e | (or) elemento per elemento, racchiudendoli tra parentesi. Le parole chiave Python and/or NON funzionano sugli array.

print(a[(a > 4) & (a < 15)])   # [ 5 12  7]

Assegnazione tramite una maschera

Può scrivere nelle posizioni selezionate dalla maschera per ripulire i dati direttamente, ad esempio limitando i valori anomali a una soglia massima.

a = np.array([5, 12, 7, 20, 3])
a[a > 10] = 10
print(a)   # [ 5 10  7 10  3]

Indicizzazione avanzata con gli array

Passi un array (o una lista) di indici interi per selezionare elementi arbitrari in qualsiasi ordine, anche con ripetizioni. Il risultato è una copia, non una vista.

a = np.array([10, 20, 30, 40, 50])
idx = [4, 0, 2, 2]
print(a[idx])   # [50 10 30 30]

Indicizzazione avanzata in 2D

Fornisca due array di indici per selezionare specifiche coppie (riga, colonna). Qui selezioniamo gli elementi agli angoli della diagonale.

m = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
rows = [0, 2]
cols = [0, 2]
print(m[rows, cols])   # [1 9]

Selezione condizionale con np.where

np.where(cond, x, y) restituisce gli elementi di x dove la condizione è True e quelli di y negli altri casi: un if-else vettorializzato.

a = np.array([-2, 5, -7, 3])
print(np.where(a < 0, 0, a))   # [0 5 0 3]  (clip negatives)

np.where per trovare gli indici

Chiamato con un solo argomento, np.where(cond) restituisce gli indici nei quali la condizione è verificata.

a = np.array([10, 20, 30, 40])
print(np.where(a > 15))   # (array([1, 2, 3]),)

Verifica rapida

Metta alla prova le Sue competenze sull'indicizzazione.

Riepilogo

Tecniche di selezione:

  • Indicizzazione e slicing di base (gli slice sono viste)
  • Accesso 2D con m[row, col], intero asse con :
  • Maschere booleane con & e |
  • Indicizzazione avanzata con array di indici (restituisce una copia)
  • np.where(cond, x, y) per un if-else vettorializzato

Domande Frequenti

La lezione «Indicizzazione, slicing e fancy indexing» è gratuita?

Sì — il testo completo di «Indicizzazione, slicing e fancy indexing» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.

Cosa imparerò in «Indicizzazione, slicing e fancy indexing»?

Slicing di base, mascheramento booleano, fancy indexing e np.where() per la selezione condizionale. Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Learn AI with Python?

Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Indicizzazione, slicing e fancy indexing»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?

Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Creazione e proprietà degli array
  2. Indicizzazione, slicing e fancy indexing
  3. Broadcasting e operazioni vettorializzate
  4. Algebra lineare con NumPy
← Torna a Learn AI with Python