Массивы и типы данных NumPy

PythonPythonBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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, которая предлагает множество полезных функций и методов для манипуляции массивами.