Учебник по NumPy

ГЛАВНАЯ Введение в NumPy Начало работы с NumPy NumPy Создание массивов Индексация массива NumPy Нарезка массива NumPy Типы данных NumPy Копирование NumPy против просмотра Форма массива NumPy Изменение формы массива NumPy Итерация массива NumPy Объединение массивов NumPy Разделение массива NumPy Поиск массива NumPy Сортировка массива NumPy Фильтр массива NumPy

NumPy Случайный

Случайное вступление Распределение данных Случайная перестановка Морской модуль Нормальное распределение Биномиальное распределение Распределение рыбы Равномерное распределение Логистическая дистрибуция Полиномиальное распределение Экспоненциальное распределение Распределение площади Хи Рэлеевское распределение Распределение Парето Распределение Zipf

NumPy ufunc

Введение ufunc Создать функцию ufunc Простая арифметика ufunc Округление десятичных знаков Журналы UFUNC ufunc Суммирование продукты ufunc Отличия ufunc ufunc Поиск LCM ufunc Поиск НОД ufunc Тригонометрический ufunc Гиперболический ufunc набор операций

Викторина/Упражнения

Викторина NumPy NumPy-упражнения

Типы данных NumPy


Типы данных в Python

По умолчанию Python имеет следующие типы данных:

  • strings- используется для представления текстовых данных, текст заключен в кавычки. например "АБВД"
  • integer- используется для представления целых чисел. например -1, -2, -3
  • float- используется для представления действительных чисел. например 1,2, 42,42
  • boolean - используется для представления True или False.
  • complex- используется для представления комплексных чисел. например 1,0 + 2,0Дж, 1,5 + 2,5Дж

Типы данных в NumPy

NumPy имеет несколько дополнительных типов данных и относится к типам данных с одним символом, например, iдля целых чисел, uцелых чисел без знака и т. д.

Ниже приведен список всех типов данных в NumPy и символы, используемые для их представления.

  • i - целое число
  • b - логическое значение
  • u - беззнаковое целое
  • f - плавать
  • c - сложный поплавок
  • m - дельта времени
  • M - дата и время
  • O - объект
  • S - нить
  • U - строка юникода
  • V - исправлен кусок памяти для другого типа (void)

Проверка типа данных массива

Объект массива NumPy имеет свойство dtype , которое возвращает тип данных массива:

Пример

Получить тип данных объекта массива:

import numpy as np

arr = np.array([1, 2, 3, 4])

print(arr.dtype)

Пример

Получить тип данных массива, содержащего строки:

import numpy as np

arr = np.array(['apple', 'banana', 'cherry'])

print(arr.dtype)


Создание массивов с определенным типом данных

Мы используем array()функцию для создания массивов, эта функция может принимать необязательный аргумент: dtype это позволяет нам определить ожидаемый тип данных элементов массива:

Пример

Создайте массив со строкой типа данных:

import numpy as np

arr = np.array([1, 2, 3, 4], dtype='S')

print(arr)
print(arr.dtype)

Для i, u, fи мы Sтакже Uможем определить размер.

Пример

Создайте массив с типом данных 4 байта integer:

import numpy as np

arr = np.array([1, 2, 3, 4], dtype='i4')

print(arr)
print(arr.dtype)

Что делать, если значение не может быть преобразовано?

Если указан тип, в котором нельзя преобразовать элементы, то NumPy вызовет ошибку ValueError.

ValueError: в Python ValueError возникает, когда тип переданного аргумента функции является неожиданным/неправильным.

Пример

Нецелочисленная строка, такая как «a», не может быть преобразована в целое число (вызовет ошибку):

import numpy as np

arr = np.array(['a', '2', '3'], dtype='i')

Преобразование типа данных в существующих массивах

Лучший способ изменить тип данных существующего массива — создать копию массива с помощью astype()метода.

Функция astype()создает копию массива и позволяет указать тип данных в качестве параметра.

Тип данных можно указать с помощью строки, например , для числа 'f'с плавающей запятой, 'i'для целого числа и т. д., или вы можете использовать тип данных напрямую, как floatдля числа с плавающей запятой и intдля целого числа.

Пример

Измените тип данных с float на integer, используя 'i'в качестве значения параметра:

import numpy as np

arr = np.array([1.1, 2.1, 3.1])

newarr = arr.astype('i')

print(newarr)
print(newarr.dtype)

Пример

Измените тип данных с float на integer, используя intв качестве значения параметра:

import numpy as np

arr = np.array([1.1, 2.1, 3.1])

newarr = arr.astype(int)

print(newarr)
print(newarr.dtype)

Пример

Измените тип данных с целого на логический:

import numpy as np

arr = np.array([1, 0, 3])

newarr = arr.astype(bool)

print(newarr)
print(newarr.dtype)

Проверьте себя с помощью упражнений

Упражнение:

NumPy использует символ для представления каждого из следующих типов данных, какой именно?

i = integer
 = boolean
 = unsigned integer
 = float
 = complex float
 = timedelta
 = datatime
 = object
 = string