Torna ai corsi
AI018 Professionale

Guida all'uso di NumPy

Una panoramica completa e guida tecnica introduttiva a NumPy, che copre l'installazione, la manipolazione degli array, l'indicizzazione, la trasmissione e l'integrazione con C/C++.

4.9
15.0h
891 studenti
5 lessons
0 mi piace
Intelligenza Artificiale
Inizia ad imparare

Panoramica del corso

📚 Riepilogo del contenuto

Un'introduzione completa e un manuale tecnico su NumPy, che copre l'installazione, la manipolazione degli array, l'indicizzazione, la trasmissione (broadcasting) e l'integrazione con C/C++.

Padroneggia le basi del calcolo scientifico in Python con la guida ufficiale di NumPy.

Autore: La comunità NumPy

Ringraziamenti: Redatto dalla comunità NumPy

🎯 Obiettivi di apprendimento

  1. Definire NumPy e identificare il suo ruolo nell'ecosistema scientifico di Python.
  2. Spiegare perché NumPy è significativamente più veloce dei cicli standard di Python utilizzando il concetto di vettorizzazione.
  3. Eseguire comandi di installazione per diversi ambienti, inclusi Pip, Conda e Raspberry Pi.
  4. Identificare e interpretare gli attributi fondamentali ndarray come ndim, shape e dtype.
  5. Eseguire creazione e manipolazione di array usando funzioni come linspace, reshape, vstack e hstack.
  6. Applicare operazioni elemento per elemento, funzioni universali (ufuncs) e risolutori di algebra lineare a insiemi di dati numerici.
  7. Gestire la precisione dei dati e mitigare gli errori di overflow utilizzando i tipi scalari di NumPy e gli strumenti di informazione (iinfo, finfo).
  8. Implementare l'ingresso flessibile dei dati dal disco usando genfromtxt con delimitatori personalizzati, intestazioni e selezioni di colonne.
  9. Applicare le Regole Generali di Broadcasting per prevedere e controllare le interazioni tra array di forme diverse.
  10. Gestire i riferimenti alla memoria e evitare "insidie" nelle sottoclassi personalizzate di ndarray utilizzando l'attributo .base.

Lezioni

Lesson

This lesson introduces NumPy as the foundational bridge between high-level Python applications and low-level hardware, focusing on the ndarray as a universal interface for scientific computing. Students will learn how the ndarray’s contiguous memory layout and homogeneous data structure enable high-performance, vectorized operations across the data science ecosystem.

This lesson introduces the NumPy ndarray as a memory-efficient, homogeneous alternative to Python lists, focusing on proper initialization and the performance benefits of contiguous memory. Students will learn to interpret core array attributes—such as shape, size, and data type—to understand how metadata defines the spatial geometry and memory footprint of numerical data.

This lesson covers precision management in NumPy, focusing on how fixed-size data types handle integer overflow and floating-point saturation. It also introduces robust data ingestion techniques using np.genfromtxt to handle irregular file formats and sanitize messy datasets.

This lesson explores the complexities of subclassing `numpy.ndarray`, focusing on the "Initialization Triad" and the critical role of the `__array_finalize__` hook in maintaining metadata. Students will learn to navigate the risks of behavioral fragility and identify when to choose subclassing for interoperability versus using composition for safer architectural design.

AI018: Extending NumPy with the C-API (Lesson 5) explores how to overcome performance bottlenecks like the interpreter tax and memory bloat by implementing high-performance C extensions. Students will learn to manage memory safely, utilize kernel fusion, and perform cache-aligned pointer arithmetic to optimize complex computational tasks.