Настройка узла Python
Данный узел или опция доступны, только если они включены в лицензии PolyAnalyst Server.

Окно свойств узла Python содержит как минимум две вкладки: Скрипт Python и Общие. Это происходит в тех случаях, когда узел используется для импорта данных в PolyAnalyst и не имеет входящего соединения с родительским узлом. Подробнее об этом здесь.

Обычно узлу Python предшествует родительский узел, поэтому в окне настроек узла чаще всего имеются три вкладки: Скрипт Python, вкладка для выбора рабочих колонок, название которой зависит от имени родительской таблицы, и Общие.

python settings.rus

Узел Python может иметь несколько родительских узлов.

python several nodes.rus

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

python settings several nodes.rus

Все специфичные для данного узла настройки расположены на первой вкладке Скрипт Python. Она содержит текстовое поле для составления, вставки и редактирования скрипта Python.

Давайте взглянем на скрипт узла Python по умолчанию.

""" Get columns from parent datasets """
if preliminary_run:
    result = pandas.DataFrame(columns=['Node name','Column name','Records'])
else:
    data = []
    for name, dataset in parents.items():
        for col in dataset:
            data.append({'Node name': name, 'Column name': col, 'Records': len(dataset[col])})
    result = pandas.DataFrame(data)

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

Использование переменной preliminary_run необязательно. Она необходима только для получения колонок родительского набора данных и их типов.

В зависимости от поставленной задачи, вы можете указать тип выходной таблицы: узел Python может создавать новую таблицу данных, отдельные колонки или индекс строк. Выберите нужный вам тип из выпадающего меню Интерпретировать результат как:

  • Новая таблица – узел создает новую таблицу данных с результатами (опция по умолчанию);

  • Новые колонки – узел добавляет новые колонки с результатами к существующей таблице данных;

  • Индекс строк (начиная с нуля) – узел вернет измененную копию родительского набора данных с порядком строк, в соответствии с индексом. Индекс первой строки родительского набора данных равен 0. См. данный раздел для примера.

Кнопка Загрузить скрипт позволяет указать путь к папке, в которой хранится файл скрипта с расширением *.py.

Кнопка Проверить синтаксис позволяет выполнить проверку скрипта на наличие ошибок.

Опция Перегружать скрипт при каждом выполнении узла может быть удобна в том случае, если вы регулярно обновляете файл со скриптом Python в той папке, где он хранится, и не хотите всякий раз перенастраивать узел перед его следующим выполнением. Чтобы использовать такую возможность, включите опцию и укажите директорию с файлом с помощью кнопки Выбор. Если опция включена, возможность редактирования скрипта отключается.

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

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

В узле Python библиотека pandas используется по умолчанию, поэтому вы можете опустить строку import pandas из скрипта (если только вы не предпочитаете задавать другое имя библиотеки при импорте, например, import pandas as pd).

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

Вкладка Общие позволяет ввести имя и описание узла.

Нажмите Выполнить по завершении настройки узла.