NumPy — это базовая библиотека в экосистеме научных вычислений Python. Ее сила заключается в ndarray
(n-мерном массиве), высокоэффективной структуре данных, обеспечивающей быстрые числовые вычисления на больших наборах данных. В этом руководстве рассматривается создание различных массивов NumPy, сфокусируясь на нескольких основных типах массивов.
Оглавление
- Создание массивов из нулей
- Создание массивов из единиц
- Создание единичных и диагональных массивов
- Создание треугольных массивов
- Создание массивов с заданным заполняющим значением
- Создание массивов со случайными значениями
Создание массивов из нулей
Генерация массивов, заполненных нулями, — частая задача. Функция zeros()
NumPy упрощает это. Она принимает форму массива (одно целое число для 1D или кортеж для более высоких измерений) и необязательный аргумент dtype
для указания типа данных.
import numpy as np
# Одномерный массив из нулей
zeros_1d = np.zeros(5)
print("Одномерный массив нулей:n", zeros_1d)
# Двумерный массив из нулей
zeros_2d = np.zeros((3, 4), dtype=int) # Явное указание dtype для ясности
print("nДвумерный массив нулей:n", zeros_2d)
Создание массивов из единиц
Аналогично, ones()
создает массивы, инициализированные единицами. Она использует те же аргументы, что и zeros()
: форму и тип данных.
import numpy as np
# Одномерный массив из единиц
ones_1d = np.ones(4, dtype=float) # Явное указание dtype — хорошая практика
print("Одномерный массив единиц:n", ones_1d)
# Двумерный массив из единиц
ones_2d = np.ones((2, 3))
print("nДвумерный массив единиц:n", ones_2d)
Создание единичных и диагональных массивов
Функция eye()
генерирует массивы с единицами на главной диагонали и нулями в остальных местах (единичная матрица для квадратных массивов). Необязательный аргумент k
позволяет указать смещение для диагонали.
import numpy as np
# Единичная 3x3 матрица
identity_matrix = np.eye(3)
print("Единичная матрица:n", identity_matrix)
# 3x3 матрица с единицами на диагонали, смещенной на 1
offset_diagonal = np.eye(3, k=1) # k=1 сдвигает диагональ на одну позицию вправо
print("nДиагональ, смещенная на 1:n", offset_diagonal)
Создание треугольных массивов
NumPy предоставляет triu()
(верхняя треугольная) и tril()
(нижняя треугольная) для извлечения или создания треугольных частей массивов. Элементы ниже (triu
) или выше (tril
) главной диагонали становятся нулями.
import numpy as np
array = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
upper_triangular = np.triu(array)
print("Верхняя треугольная матрица:n", upper_triangular)
lower_triangular = np.tril(array)
print("nНижняя треугольная матрица:n", lower_triangular)
Создание массивов с заданным заполняющим значением
Функция full()
позволяет создавать массивы, заполненные любым заданным значением.
import numpy as np
filled_array = np.full((2,3), 7)
print(filled_array)
Создание массивов со случайными значениями
Модуль random
NumPy предоставляет функции для создания массивов со случайными числами из различных распределений. Например, rand()
создает массив случайных чисел с плавающей точкой от 0 до 1.
import numpy as np
random_array = np.random.rand(3, 2)
print(random_array)
В этом руководстве рассматриваются основные методы создания массивов NumPy. Овладение ими является необходимым условием для эффективной обработки и анализа данных в научных вычислениях и data science.