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

Атрибут fields

Атрибут fields класса dtype возвращает словарь, содержащий информацию о полях составного типа данных. Ключами словаря являются имена полей, а значениями - кортежи, содержащие описание каждого поля.

Синтаксис

dtype.fields

Возвращаемый словарь имеет следующую структуру:

  • Ключ - имя поля (строка)
  • Значение - кортеж из двух элементов: (dtype, offset), где dtype - тип данных поля, а offset - смещение в байтах от начала структуры

Пример

Давайте создадим составной тип данных с двумя полями и выведем его атрибут fields:

import numpy as np dt = np.dtype([('x', np.int32), ('y', np.float64)]) res = dt.fields print(res)

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

{ 'x': (dtype('int32'), 0), 'y': (dtype('float64'), 4) }

Из вывода видно, что поле x имеет тип int32 и находится по смещению 0 байт, а поле y имеет тип float64 и смещено на 4 байта.

Пример

Используем атрибут fields для получения типа конкретного поля по его имени:

import numpy as np dt = np.dtype([('id', np.int64), ('value', np.float32)]) field_info = dt.fields['value'] print(field_info)

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

(dtype('float32'), 8)

Как видим, поле value имеет тип float32 и смещение 8 байт относительно начала структуры.

Пример

Проверим, доступен ли атрибут fields для простых типов данных, и увидим, что он возвращает None:

import numpy as np dt = np.dtype(np.int32) res = dt.fields print(res)

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

None

Для стандартных скалярных типов данных атрибут fields всегда возвращает None.

Пример

Создадим массив со структурой данных и используем fields для анализа полей:

import numpy as np dt = np.dtype([ ('name', np.str_, 16), ('age', np.int32), ('score', np.float64) ]) arr = np.array([('Alice', 25, 95.5), ('Bob', 30, 87.3)], dtype=dt) field_names = list(arr.dtype.fields.keys()) print(field_names)

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

['name', 'age', 'score']

С помощью атрибута fields мы получили список всех имен полей составного типа данных.

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

  • атрибут names,
    который возвращает список имен полей составного типа данных
  • атрибут itemsize,
    который возвращает размер типа данных в байтах
  • атрибут type,
    который возвращает объект типа данных
  • класс dtype,
    который используется для определения типов данных в NumPy
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить