tak.lol
26 ноябрь 2024
11
0
Не нравится 0 Нравится

Массив

Давай погрузимся в мир массивов с помощью NumPy! Если ты думал, что массивы — это просто набор чисел, то ты сильно недооценивал их мощь. Массивы — это как швейцарский нож для программиста: всегда под рукой и готовы помочь в любой ситуации. Итак, поехали!



Что такое массивы?


Массивы — это структуры данных, которые позволяют хранить множество элементов одного типа. В Python мы обычно используем списки, но если ты хочешь поработать с числовыми данными, NumPy — это твой лучший друг. Он делает работу с массивами не только эффективной, но и приятной.



Создание массивов


Начнем с самого простого: создания массива. Сначала нужно импортировать библиотеку NumPy:



import numpy as np


Теперь давай создадим массив из списка:




my_array = np.array([1, 2, 3, 4, 5])
print(my_array)  # Выведет: [1 2 3 4 5]


Вуаля! Мы создали массив. Но что, если нам нужно создать двумерный массив? Легко!




matrix = np.array([[1, 2, 3], [4, 5, 6]])
print(matrix)


Это выведет:




[[1 2 3]
 [4 5 6]]


Размерность и форма


Теперь давай узнаем, как узнать размерность нашего массива. Это можно сделать с помощью атрибута shape. Это как посмотреть на размер одежды: ты же не будешь покупать что-то без размера!




print(matrix.shape)  # Выведет: (2, 3)


Это значит, что у нас есть 2 строки и 3 столбца. Если бы это была одежда, мы бы точно выбрали размер "двойка".



Операции с массивами


Теперь о самом интересном: операциях с массивами. Все операции выполняются поэлементно. Например, сложение массивов:




array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
sum_array = array1 + array2
print(sum_array)  # Выведет: [5 7 9]


Вот так просто! А если мы хотим возвести каждый элемент в квадрат? Легко!




squared_array = array1 ** 2
print(squared_array)  # Выведет: [1 4 9]


Теперь представь, что у тебя есть массив температур в градусах Цельсия, и ты хочешь перевести их в Фаренгейты. Просто умножь на коэффициент и добавь константу!




celsius = np.array([0, 20, 37])
fahrenheit = celsius * 9/5 + 32
print(fahrenheit)  # Выведет: [32. 68. 98.6]


Индексация и срезы


Как и в списках, в массивах NumPy можно использовать индексацию и срезы. Хочешь получить первый элемент массива? Легко!




firstelement = myarray[0]
print(first_element)  # Выведет: 1


А теперь получим элементы от второго до четвертого (не включая четвертый):




slicearray = myarray[1:4]
print(slice_array)  # Выведет: [2 3 4]


Функции для работы с массивами


NumPy предлагает множество полезных функций для работы с массивами. Например:



  • np.zeros(shape): создает массив, заполненный нулями.

  • np.ones(shape): создает массив, заполненный единицами.

  • np.arange(start, stop, step): создает массив с заданным диапазоном значений.



Вот пример создания массива из нулей:




zeros_array = np.zeros((3, 4))  # Массив 3x4
print(zeros_array)


Это выведет:




[[0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]]


Согласись, выглядит впечатляюще! А теперь представь, что ты собираешься создать массив из чисел от 0 до 9:




range_array = np.arange(10)
print(range_array)  # Выведет: [0 1 2 3 4 5 6 7 8 9]


Легко и быстро!



Примеры


Пример 1: Основные операции с массивами
В этом примере мы создадим два массива и выполним с ними несколько базовых операций.
import numpy as np
# Создаем два массива
array1 = np.array([1, 2, 3, 4, 5])
array2 = np.array([10, 20, 30, 40, 50])

# Сложение массивов
sum_array = array1 + array2
print("Сумма массивов:", sum_array)  # Вывод: [11 22 33 44 55]

# Умножение массивов
product_array = array1 * array2
print("Произведение массивов:", product_array)  # Вывод: [10 40 90 160 250]


Пример 2: Срезы и индексация
В этом примере мы будем использовать индексацию и срезы для извлечения данных из массива.

import numpy as np

# Создаем массив
data = np.array([5, 10, 15, 20, 25, 30])

# Извлекаем первый элемент
first_element = data[0]
print("Первый элемент:", first_element)  # Вывод: 5

# Извлекаем элементы с 2-го по 4-й (не включая 4-й)
slice_data = data[1:4]
print("Срез данных:", slice_data)  # Вывод: [10 15 20]


Пример 3: Визуализация данных

В этом примере мы создадим график функции y = x² с использованием NumPy для создания массива значений x и Matplotlib для визуализации.
import numpy as np
import matplotlib.pyplot as plt

# Создаем массив значений x от -10 до 10
x = np.linspace(-10, 10, 100)  # 100 точек от -10 до 10
y = x ** 2  # y = x^2

# Создаем график
plt.figure(figsize=(8, 6))
plt.plot(x, y, label='y = x^2', color='blue')
plt.title('График функции y = x^2')
plt.xlabel('x')
plt.ylabel('y')
plt.axhline(0, color='black',linewidth=0.5, ls='--')
plt.axvline(0, color='black',linewidth=0.5, ls='--')
plt.grid(color = 'gray', linestyle = '--', linewidth = 0.5)
plt.legend()
plt.show()
Комментарии к материалу
Комментировать
Ваш комментарий: