Пакет SASPy позволяет выполнять анализ в SAS 9.4 с использованием объектно-ориентированных методов и объектов языка Python, а также «волшебных» методов языка Python. Перед выполнением кода SASPy преобразует объекты и методы, добавленные в код SAS. Для использования SASPy вам потребуется SAS 9.4 и Python версии 3.x или выше.
SASPy — это проект с открытым исходным кодом, и вы можете принять в нем участие.
После установки и настройки SASPy вы можете импортировать пакет SASPy, как показано ниже:
Для запуска примеров из этой статьи я использовал Jupyter Notebook.
1. Импортируйте пакет SASPy:
2. Запустите новый сеанс. Объект sas создается с помощью локально установленной версии SAS в Microsoft Windows при запуске сеанса SAS. После создания сеанса появляется следующая заметка:
Добавление данных
Теперь когда сеанс SAS запущен, добавим некоторые данные для анализа. В этом примере SASPy считывает CSV-файл, который содержит данные о численности населения для различных почтовых индексов в округе Лос-Анджелес, и создает объект SASdata с именем tabl:
Чтобы просмотреть атрибуты этого объекта, используйте функцию PRINT(), которая выводит libref и название набора данных SAS. Эта функция выводит результаты в формате Pandas, который по умолчанию используется для вывода данных из таблиц.
Использование методов для отображения и анализа данных
В этом разделе приведены примеры методов для взаимодействия с данными SAS с помощью SASPy.
Метод Head()
С помощью знакомого метода head() из Python вы можете просмотреть несколько первых записей для почтовых индексов после загрузки данных. В этом примере метод head() используется с объектом tabl SASdata для вывода первых пяти записей. Результат показан ниже:
Метод Describe()
Убедившись, что вы получили именно те данные, которые ожидали, можно перейти к анализу данных. Чтобы создать простую сводку данных, воспользуйтесь методом describe() Python и индексом [1:3]. При этом создается сводка всех числовых полей в таблице и отображаются только вторая и третья записи. Нижний индекс применяется только тогда, когда в качестве формата результата используется Pandas, и не применяется, если используется формат HTML или Text.
Метод Teach_me_SAS()
Код SAS, созданный с помощью объектно-ориентированного синтаксиса Python, также можно вывести с помощью метода teach_me_SAS() в SASPy. Если указать True в качестве параметра этого метода, код SAS будет просто выведен на экран без выполнения:
Метод ColumnInfo()
В следующей ячейке используйте метод columnInfo(), который выводит информацию о каждой переменной в наборе данных SAS. Код SAS создается с помощью метода teach_me_SAS(), описанного в предыдущем разделе:
Метод Submit()
Затем используйте метод submit() для выполнения содержимого процедуры PROC CONTENTS, которое отображается в ячейке выше, напрямую в Python. Метод submit возвращает словарь с двумя ключами: LST и LOG. Ключ LST содержит результаты, а ключ LOG возвращает журнал SAS. Результаты отображаются в формате HTML. Для отображения результатов импортируется пакет HTML.
Ядро SAS и Jupyter Notebook
Jupyter Notebook позволяет запускать программы на различных языках программирования, в том числе и SAS. Для этого необходимо установить и настроить ядро SAS. Ядро SAS также позволяет интерактивно запустить SAS с использованием веб-интерфейса и сохранять результаты анализа в Jupyter Notebook. Дополнительные сведения об установке и настройке ядра SAS см. в статьях по приведенным выше ссылкам.
Чтобы убедиться, что ядро SAS успешно установлено, можно запустить следующую команду: jupyter kernelspec list
Выполните следующую команду, чтобы запустить Jupyter Notebook:
Jupyter notebook.
На скриншоте ниже показан сеанс Jupyter Notebook, который создается при запуске этой команды. Чтобы выполнить код SAS из Jupyter Notebook, выберите SAS из раскрывающегося списка New, как показано ниже:
Вы можете добавить код SAS в ячейку в Jupyter Notebook и выполнить этот код. Следующий код добавляет процедуры PRINT и SGPLOT. По умолчанию данные выводятся в формате HTML5. Однако при необходимости можно указать другой формат вывода.
В ячейке также можно использовать «волшебные» слова, например, %%python, даже если вы используете ядро SAS. Это можно делать для любого установленного ядра.