Кодировать поле (Управление данными)

Краткая информация

Преобразует категорийные значения (строка, целое число или дата) в несколько числовых полей, каждое из которых представляет определенную категорию. Закодированные числовые поля могут использоваться в большинстве научных данных и статистических рабочих процессов, включая регрессионные модели.

Иллюстрация

Иллюстрация инструмента Кодировать поле

Использование

  • Инструмент поддерживает следующие методы кодирования:

    • Один-горячий – Преобразует каждое категорийное значение в новый столбец и присваивает 0 или 1, где 1 обозначает наличие этого категорийного значения.
    • Один-Холодный – Преобразует каждое категорийное значение в новый столбец и присваивает 0 или 1, где 0 обозначает наличие этого категорийного значения.
    • Временной – Преобразует каждое значение даты в кодируемом поле в целочисленные значения (0, 1, 2 и т. д.) в зависимости от интервала временного шага. Все даты, попадающие в один и тот же интервал временного шага, кодируются вместе одним и тем же целым числом. При использовании метода Временной создается три поля: поле временного шага, содержащее закодированные временные шаги, поле времени начала, содержащее время начала временного интервала, и поле времени окончания, содержащее время окончания временного интервала.

  • Этот инструмент изменяет входные данные и добавляет новые закодированные поля во входную таблицу или класс объектов.

  • При выборе метода Один-горячий или Один-холодный для параметра Метод кодирования количество полей будет равно количеству категорийных значений в поле, которое вы выберете для кодирования (включая текст и целое число). При использовании метода кодирования Временной создаются интервалы временных шагов на основе значения параметра Интервал временного шага, и создаются три поля, содержащие временной шаг, время начала и время окончания.

  • Параметр Интервал временного шага применяется только в том случае, если для параметра Метод кодирования выбран Временной метод. Временное значение будет агрегировано во временной шаг, в пределах которого находится это время. Единицей измерения интервала временного шага могут быть секунды, минуты, часы, дни, недели, месяцы или годы.

  • Параметр Выравнивание временного шага определяет, как будет происходить агрегирование на основе данного интервала временного шага. Параметр Время окончания выравнивает (приводит) временной шаг к последнему по времени событию и агрегирует его назад во времени. Параметр Время начала выравнивает (приводит) временные шаги к первому по времени событию и агрегирует их вперед во времени. Параметр Опорное время позволяет указать конкретную дату и время, к которым будут выровнены (приведены) эти временные шаги.

    Более подробно о выравнивании временных шагов

Параметры

ПодписьОписаниеТип данных
Входная таблица

Входная таблица или класс пространственных объектов, которые содержат кодируемое поле. Поля будут добавлены в существующую входную таблицу, новая выходная таблица не создаётся.

Table View; Raster Layer; Mosaic Layer
Кодируемое поле

Поле, содержащее кодируемые категорийные или временные значения.

Field
Метод кодирования
(Дополнительный)

Указывает метод, который будет использоваться для кодирования значений, содержащихся в параметре Кодируемое поле.

  • Один-горячийКаждое категорийное значение будет преобразовано в новое поле с присвоением значений 0 или 1, где 1 обозначает наличие этого категорийного значения. Это значение по умолчанию
  • Один-холодный Каждое категорийное значение будет преобразовано в новое поле с присвоением значений 0 или 1, где 0 обозначает наличие этого категорийного значения.
  • ВременнойКаждое временное значение параметра Кодируемое поле будет преобразовано в целое число с учетом заданных значений интервала временного шага, выравнивания временного шага и опорного времени.
String
Интервал временного шага
(Дополнительный)

Число секунд, минут, часов, дней, недель или лет, которое будет представлять один временной шаг. Временное значение будет агрегировано в определенный временной шаг, в пределах которого оно находится. Если значение не указано, то интервал временного шага по умолчанию определяется двумя алгоритмами, которые используются для определения оптимального числа и ширины интервалов данного временного шага. В качестве интервала временного шага используется меньший из двух результатов.

Time Unit
Выравнивание временного шага
(Дополнительный)

Устанавливает, как будет происходить агрегирование на основе значения параметра Интервал временного шага.

  • Конечное время Временные шаги выравниваются по последнему событию и агрегируются во времени назад. Это значение по умолчанию
  • Начальное время Временные шаги выравниваются по первому событию и агрегируются во времени вперед.
  • Базовое время Временные шаги будут привязаны к дате и времени, указанным в параметре Опорное время. Агрегирование выполняется вперед и назад во времени от опорного времени до тех пор, пока не будут достигнуты первое и последнее временные значения.
String
Базовое время
(Дополнительный)

Дата и время, к которым будут выровнены (приведены) интервалы временного шага. Например, для еженедельного хранения данных с понедельника по воскресенье задайте базовое время на полночь воскресенья, чтобы разрыв временных шагов происходил в полночь с воскресенья на понедельник.

Этим значением может быть дата и время или только дата; им не может быть только время. Используемый формат даты зависит от региональных настроек компьютера.

Date

Производные выходные данные

ПодписьОписаниеТип данных
Обновленная входная таблица

Таблица, содержащая добавленные поля, которые были закодированы.

Представление таблицы

arcpy.management.EncodeField(in_table, field, {method}, {time_step_interval}, {time_step_alignment}, {reference_time})
ИмяОписаниеТип данных
in_table

Входная таблица или класс пространственных объектов, которые содержат кодируемое поле. Поля будут добавлены в существующую входную таблицу, новая выходная таблица не создаётся.

Table View; Raster Layer; Mosaic Layer
field

Поле, содержащее кодируемые категорийные или временные значения.

Field
method
(Дополнительный)

Указывает метод, который будет использоваться для кодирования значений, содержащихся в параметре Кодируемое поле.

  • ONEHOTКаждое категорийное значение будет преобразовано в новое поле с присвоением значений 0 или 1, где 1 обозначает наличие этого категорийного значения. Это значение по умолчанию
  • ONECOLD Каждое категорийное значение будет преобразовано в новое поле с присвоением значений 0 или 1, где 0 обозначает наличие этого категорийного значения.
  • TEMPORALКаждое временное значение параметра Кодируемое поле будет преобразовано в целое число с учетом заданных значений интервала временного шага, выравнивания временного шага и опорного времени.
String
time_step_interval
(Дополнительный)

Число секунд, минут, часов, дней, недель или лет, которое будет представлять один временной шаг. Временное значение будет агрегировано в определенный временной шаг, в пределах которого оно находится. Если значение не указано, то интервал временного шага по умолчанию определяется двумя алгоритмами, которые используются для определения оптимального числа и ширины интервалов данного временного шага. В качестве интервала временного шага используется меньший из двух результатов.

Time Unit
time_step_alignment
(Дополнительный)

Устанавливает, как будет происходить агрегирование на основе значения параметра Интервал временного шага.

  • END_TIME Временные шаги выравниваются по последнему событию и агрегируются во времени назад. Это значение по умолчанию
  • START_TIME Временные шаги выравниваются по первому событию и агрегируются во времени вперед.
  • REFERENCE_TIME Временные шаги будут привязаны к дате и времени, указанным в параметре Опорное время. Агрегирование выполняется вперед и назад во времени от опорного времени до тех пор, пока не будут достигнуты первое и последнее временные значения.
String
reference_time
(Дополнительный)

Дата и время, к которым будут выровнены (приведены) интервалы временного шага. Например, для еженедельного хранения данных с понедельника по воскресенье задайте базовое время на полночь воскресенья, чтобы разрыв временных шагов происходил в полночь с воскресенья на понедельник.

Этим значением может быть дата и время или только дата; им не может быть только время. Используемый формат даты зависит от региональных настроек компьютера.

Date

Производные выходные данные

ИмяОписаниеТип данных
updated_table

Таблица, содержащая добавленные поля, которые были закодированы.

Представление таблицы

Пример кода

EncodeField, пример 1 (окно Python)

В следующем скрипте окна Python показано, как используется инструмент EncodeField.


arcpy.management.EncodeField("San_Francisco_Crimes", 
                    "Category", "ONEHOT", '', None, "END_TIME")
EncodeField, пример 2 (автономный скрипт)

Следующий автономный скрипт Python демонстрирует, как использовать инструмент EncodeField.


# Import system modules.
import arcpy
try:
    # Set the workspace and input features.
    arcpy.env.workspace = r"C:\\Encoded\\MyData.gdb"
    inputFeatures = 'San_Francisco_Crimes'
    # Set input features, dependent variable, and explanatory variable.
    in_table = 'San_Francisco_Crimes'
    field = 'Dates'
    # Set encoding Method
    encoding_method = "TEMPORAL"
    # Set time Step Interval
    time_step_interval = '1 Days'
    # Set Time Step Alignment
    time_step_alignment = "START_TIME"
    # Run Encode Field Tool.
    arcpy.management.EncodeField(in_table, field, encoding_method, 
                    None, time_step_interval, time_step_alignment)
except arcpy.ExecuteError:
    # If an error occurred when running the tool, print the error message.
    print(arcpy.GetMessages())

Параметры среды