Введение
NumPy - это библиотека для языка программирования Python, используемая для выполнения численных операций в Python. NumPy предлагает удобный способ работы с числовыми данными с использованием многомерных массивов. В этом руководстве мы обсудим, как создавать, получать доступ к и изменять массивы NumPy, а также изучим доступные виды данных.
Создание массивов
Откройте новый интерпретатор Python в Терминале.
python3
Прежде чем мы сможем начать работать с массивами, нам нужно их создать. NumPy предлагает несколько методов для создания массивов, например:
1. np.array()
Эта функция создает массив из списка или кортежа Python.
import numpy as np
## Создание массива из списка Python
my_list = [1, 2, 3, 4, 5]
my_array = np.array(my_list)
print(my_array) ## Вывод: [1 2 3 4 5]
## Создание массива из кортежа Python
my_tuple = (6, 7, 8, 9, 10)
my_array = np.array(my_tuple)
print(my_array) ## Вывод: [ 6 7 8 9 10]
2. np.zeros()
Эта функция создает массив из нулей заданной формы.
## Создание массива из нулей
my_array = np.zeros((3, 4))
print(my_array)
## Вывод:
## [[0. 0. 0. 0.]
## [0. 0. 0. 0.]
## [0. 0. 0. 0.]]
3. np.ones()
Эта функция создает массив из единиц заданной формы.
## Создание массива из единиц
my_array = np.ones((2, 3))
print(my_array)
## Вывод:
## [[1. 1. 1.]
## [1. 1. 1.]]
4. np.arange()
Эта функция создает массив с равномерно распределенными значениями в заданном диапазоне.
## Создание массива с равномерно распределенными значениями
my_array = np.arange(0, 10, 2)
print(my_array) ## Вывод: [0 2 4 6 8]
5. np.linspace()
Эта функция создает массив с равномерно распределенными значениями между двумя концами.
## Создание массива с равномерно распределенными значениями между двумя концами
my_array = np.linspace(0, 1, 5)
print(my_array) ## Вывод: [0. 0.25 0.5 0.75 1. ]
Доступ к элементам
Для доступа к элементу в одномерном массиве мы можем использовать его индекс.
my_array = np.array([1, 2, 3, 4, 5])
print(my_array[0]) ## Вывод: 1
Для доступа к элементу в многомерном массиве нам нужно указать его позицию в каждой размерности.
my_array = np.array([[1, 2], [3, 4], [5, 6]])
print(my_array[1, 0]) ## Вывод: 3
Изменение элементов
Мы можем изменить значение элемента в массиве, присвоив ему новое значение.
my_array = np.array([1, 2, 3])
my_array[2] = 4
print(my_array) ## Вывод: [1 2 4]
Мы также можем изменить срез массива.
my_array = np.array([1, 2, 3, 4, 5])
my_array[1:4] = [6, 7, 8]
print(my_array) ## Вывод: [1 6 7 8 5]
Типы данных
Массивы NumPy могут хранить элементы различных типов данных, таких как целые числа, числа с плавающей точкой и булевы значения. NumPy предлагает ряд типов данных, в том числе:
| Тип данных | Описание |
|---|---|
| int_ | Целое число |
| int8 | 8-разрядное целое число |
| int16 | 16-разрядное целое число |
| int32 | 32-разрядное целое число |
| int64 | 64-разрядное целое число |
| uint8 | Беззнаковое 8-разрядное целое число |
| uint16 | Беззнаковое 16-разрядное целое число |
| uint32 | Беззнаковое 32-разрядное целое число |
| uint64 | Беззнаковое 64-разрядное целое число |
| float_ | Число с плавающей точкой |
| float16 | Число с плавающей точкой с полуточной точностью |
| float32 | Число с плавающей точкой с одинарной точностью |
| float64 | Число с плавающей точкой с двойной точностью |
| complex_ | Комплексное число |
| complex64 | Комплексное число, представленное двумя 32-разрядными числами с плавающей точкой |
| complex128 | Комплексное число, представленное двумя 64-разрядными числами с плавающей точкой |
| bool_ | Булево значение |
| object_ | Объект (может содержать любой Python-объект) |
Для указания типа данных для массива мы можем использовать параметр dtype.
## Создание массива с определенным типом данных
my_array = np.array([1, 2, 3], dtype=np.float64)
print(my_array) ## Вывод: [1. 2. 3.]
Мы также можем преобразовать массив в другой тип данных с использованием метода astype().
## Преобразование массива в другой тип данных
my_array = np.array([1, 2, 3], dtype=np.int32)
my_array = my_array.astype(np.float64)
print(my_array) ## Вывод: [1. 2. 3.]
Резюме
В этом уроке мы узнали, как создавать, получать доступ к и изменять массивы NumPy, а также изучать доступные различные типы данных. NumPy - это мощная библиотека для работы с числовыми данными в Python, которая предлагает множество полезных функций и методов для манипуляции массивами.



