Настройка узла Python
| Данный узел или опция доступны, только если они включены в лицензии PolyAnalyst Server. |
Окно свойств узла Python содержит как минимум три вкладки: Скрипт Python, Переменные среды и Общие. Это происходит в тех случаях, когда узел используется для импорта данных в PolyAnalyst и не имеет входящего соединения с родительским узлом. Подробнее об этом здесь.
Обычно узлу Python предшествует родительский узел, поэтому в окне настроек узла чаще всего имеются четыре вкладки: Скрипт Python, вкладка для выбора рабочих колонок, название которой зависит от имени родительской таблицы, Переменные среды и Общие.
Для начала необходимо выбрать интерпретатор Python. Если у вас установлено несколько интерпретаторов, вы можете выбрать необходимый интерпретатор для конкретного узла Python.
По умолчанию выбрано значение General. Это означает, что установлена основная (серверная) версия интерпретатора. Дополнительную информацию смотрите в разделе предыдущая глава.
Узел Python может иметь несколько родительских узлов.
В таком случае в настройках отобразятся несколько дополнительных вкладок с названием каждого из данных узлов.
Все специфичные для данного узла настройки расположены на первой вкладке Скрипт 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)
Приведенный выше код используется в качестве примера. Код возвращает колонки родительского набора данных с указанием количества строк для каждой колонки.
В узле Python библиотека pandas используется по умолчанию, поэтому вы можете опустить строку import pandas из скрипта (если только вы не предпочитаете задавать другое имя библиотеки при импорте, например, import pandas as pd).
|
|
Обратите внимание, что такие переменные, как "parents" и "result", задаются по умолчанию и считаются глобальными. Переменная "result" необходима для хранения результатов узла. Переменная Если существует только один родительский узел, он сохраняется в переменной |
Использование переменной preliminary_run необязательно. Она необходима только для получения колонок родительского набора данных и их типов.
|
Чтобы получить оригинальную таблицу данных, используйте следующий скрипт: result=parent.
|
В зависимости от поставленной задачи, вы можете указать тип выходной таблицы: узел Python может создавать новую таблицу данных, отдельные колонки или возвращать индекс строк. Выберите нужный вам тип из выпадающего меню Интерпретировать результат как:
-
Новая таблица – узел создает новую таблицу данных с результатами (опция по умолчанию);
-
Новые колонки – узел добавляет новые колонки с результатами к существующей таблице данных;
-
Индекс строк (начиная с нуля) – узел вернет измененную копию родительского набора данных, порядок строк в которой задан в соответствии с их индексом. Индекс первой строки родительского набора данных равен 0. См. данный раздел для примера.
Кнопка Загрузить скрипт позволяет указать путь к папке, в которой хранится файл скрипта с расширением *.py.
Кнопка Проверить синтаксис позволяет выполнить проверку скрипта на наличие ошибок.
Опция Перегружать скрипт при каждом выполнении узла может быть удобна в том случае, если вы регулярно обновляете файл со Python-скриптом в той папке, где он хранится, и не хотите всякий раз перенастраивать узел перед его следующим выполнением. Чтобы использовать такую возможность, включите опцию и укажите директорию с файлом с помощью кнопки Выбор. Если опция включена, возможность редактирования скрипта отключается.
| Если пользователь выберет локальный компьютер в меню Загрузить скрипт, а затем включит опцию Перегружать скрипт при каждом выполнении узла, узел гарантированно выполнится только в том случае, если сервер PolyAnalyst установлен на локальной машине. В противном случае узел может выполниться с ошибкой. |
После того как нужный файл будет выбран, он загружается в редактор (независимо от того, активно ли окно редактора или нет). Пользователь может вручную указать имя файла со скриптом.
Нажмите Выполнить по завершении настройки узла.