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

Сводка

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

Иллюстрация

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

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

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

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

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

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

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

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

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

Синтаксис

arcpy.management.EncodeField(in_table, field, {method}, {time_step_interval}, {time_step_alignment}, {reference_time})
ParameterОбъяснениеТип данных
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

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

NameОбъяснениеТип данных
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())

Environments

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы