К курсам
AI018 Профессиональное

Руководство по использованию NumPy

Полное введение и техническое руководство по NumPy, охватывающее установку, манипуляции с массивами, индексирование, распространение и интеграцию с C/C++.

4.9
15.0h
891 учеников
5 lessons
0 лайки
Искусственный интеллект
Начать обучение

Обзор курса

📚 Обзор содержания

Полное введение и техническое руководство по NumPy, охватывающее установку, манипуляцию массивами, индексирование, трансляцию и интеграцию с C/C++.

Освойте основы научных вычислений на Python с официальным руководством NumPy.

Автор: Сообщество NumPy

Благодарности: Написано сообществом NumPy

🎯 Цели обучения

  1. Определить NumPy и определить его роль в экосистеме научного программирования на Python.
  2. Объяснить, почему NumPy значительно быстрее стандартных циклов Python с использованием концепции векторизации.
  3. Выполнить команды установки для различных сред, включая Pip, Conda и Raspberry Pi.
  4. Определить и интерпретировать основные атрибуты ndarray, такие как ndim, shape и dtype.
  5. Выполнить создание и манипуляцию массивами с помощью функций, таких как linspace, reshape, vstack и hstack.
  6. Применить операции над элементами, универсальные функции (ufuncs) и решатели линейной алгебры к числовым наборам данных.
  7. Управлять точностью данных и предотвращать ошибки переполнения с помощью скалярных типов NumPy и инструментов информации (iinfo, finfo).
  8. Реализовать гибкую загрузку данных с диска с помощью genfromtxt с пользовательскими разделителями, заголовками и выбором столбцов.
  9. Применить общие правила трансляции для прогнозирования и контроля взаимодействий между массивами разной формы.
  10. Управлять ссылками на память и избегать "подводных камней" при создании собственных подклассов ndarray с использованием атрибута .base.

Уроки

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.