Перейти к содержанию

Блок "Назначение типов данных"

Блок доступен начиная с версии 1.0

Назначение блока

Блок предназначен для определения типов данных факторов из датасета.

Чтобы начать работать с блоком, его необходимо выбрать в библиотеке и переместить в область графа.

Настройки блока

Работа с настройками блока осуществляется через локальное меню (пункт Настройки):

Модальное окно настроек выглядит следующим образом:

Общие настройки блоков описаны в отдельном разделе.

Раздел "Специфические настройки блока"

Наименование Тип Обязательное Описание Пример
Назначение типов JSON Нет По умолчанию {}. О правилах задания настройки читайте в разделе "Описание работы блока"

Входы блока

Наименование выхода Тип Описание
Датасет DataFrame DataFrame из набора ряда

Выходы блока

Наименование выхода Тип Описание
Обработанный датасет DataFrame Датасет с примененным преобразованием
Отчет о работе метода html Summary работы метода (отчет о качестве)

События блока

В блоке нет событий.

Описание работы блока

Блок автоматически определяет типы данных факторов (колонок) входящего датасета. При необходимости пользователь может скорректировать автоматически определенные типы с помощью настройки «Назначение типов».

Блок может автоматически распознать следующие типы:

  • int64,
  • float64,
  • string,
  • category,
  • boolean.

Пользователь может явно задать следующие типы: int64, float64, boolean, object, string, category, datetime64 с указанием формата. Если указанный пользователем тип не может быть применен к фактору, этот фактор получает тип, определенный автоматически.

Правила задания типов:

  1. Обычные типы данных - задаются при помощи json. Для каждого фактора необходимо указать имя и желаемый тип данных в строковом формате.

    Пример задания типов в настройке Назначение типов

    {
        "int_col1": "float64",
        "float_col1": "int64",
        "bool_col1": "object",
        "object_col1": "category",
        "cat_col1": "string",
        "bool_col3": "boolean"
    }
    
  2. Тип datetime64 - задаётся при помощи json. Для каждого фактора необходимо указать имя, тип datetime64 и формат даты. Формат должен быть подходящим для данных, иначе блок выдаст предупреждение, а данные останутся в базовом типе.

    Особенности отображения дат в DataFrame

    Внутреннее представление: pandas хранит даты в формате datetime64[ns], который является числовым количеством наносекунд, прошедших с 1970-01-01. При любом простом выводе (например, print() или просмотр в визуализаторе) pandas всегда отображает даты в своем стандартном ISO-формате: YYYY-MM-DD HH:MM:SS. Если исходная строка даты содержала разделители, отличные от дефиса (например, точки или слэши: DD.MM.YYYY или MM/DD/YYYY), то после преобразования строки в дату эти разделители исчезают. Это происходит потому, что внутреннее представление данных больше не является строкой — оно числовое.

    Исходное состояние: при загрузке данных pandas распознает даты как строки, которые хранятся в типе object. Когда пользователь назначает столбцу тип «дата» и указывает соответствующий формат, pandas пытается преобразовать строки (object) в указанный тип. Если все элементы столбца успешно приводятся к указанному формату, столбец получает тип datetime64. Если столбец в итоговом отчете имеет тип datetime64, это означает, что преобразование прошло успешно.

    Пример задания типа datetime64 в настройке Назначение типов

    {
        "date_col1": {"type": "datetime64", "format": "%Y-%m-%d"},
        "date_col2": {"type": "datetime64", "format": "%d.%m.%Y"},
        "date_col3": {"type": "datetime64", "format": "%Y/%m/%d %H:%M"}
    }