РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
523 of 541 menu

Атрибут dtypes

Атрибут dtypes класса nditer возвращает кортеж объектов типа данных dtype для каждого операнда, участвующего в итерации. Этот атрибут позволяет проверить, с какими типами данных работает итератор, а также убедиться, что приведение типов выполняется корректно. Атрибут доступен только для чтения и возвращает копию внутреннего состояния.

Синтаксис

iterator.dtypes

Атрибут не принимает параметров и возвращает кортеж из объектов numpy.dtype, соответствующих каждому операнду в том порядке, в котором они были переданы в конструктор nditer.

Пример

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

import numpy as np arr = np.array([1, 2, 3, 4, 5]) it = np.nditer(arr) print(it.dtypes)

Результат выполнения кода:

(dtype('int64'),)

Пример

Итератор для двух массивов с разными типами данных:

import numpy as np arr1 = np.array([1, 2, 3], dtype=np.int32) arr2 = np.array([1.5, 2.5, 3.5], dtype=np.float64) it = np.nditer([arr1, arr2]) print(it.dtypes)

Результат выполнения кода:

(dtype('int32'), dtype('float64'))

Пример

Использование атрибута для контроля приведения типов при записи:

import numpy as np arr = np.array([1, 2, 3, 4, 5], dtype=np.float32) out = np.zeros_like(arr, dtype=np.int32) it = np.nditer([arr, out], op_flags=[['readonly'], ['writeonly']]) for x, y in it: y[...] = x print(out) print(it.dtypes)

Результат выполнения кода:

[1 2 3 4 5] (dtype('float32'), dtype('int32'))

Обратите внимание, что данные из float32 были приведены к int32 при записи в выходной массив.

Пример

Проверка типов данных при использовании внешнего цикла:

import numpy as np arr = np.array([1.2, 2.3, 3.4, 4.5, 5.6]) it = np.nditer(arr, flags=['external_loop']) print(it.dtypes)

Результат выполнения кода:

(dtype('float64'),)

Смотрите также

  • класс nditer,
    который предоставляет эффективный многомерный итератор
  • метод iternext,
    который переключает итератор на следующий шаг
  • метод enable_external_loop,
    который включает внешний цикл в итераторе
  • атрибут operands,
    который возвращает кортеж операндов итератора
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить