В этом блоге я поделюсь прогрессом, которого я достиг в улучшении инспектора AI DataFrame Pharo, сделав его более интерактивным и удобным для пользователя, чем когда-либо прежде. Вы также можете ознакомиться с работой, которую я проделал в Период объединения с сообществом и Первый период кодирования.

Знакомство с инспектором DataFrame Pharo AI 🕵

Прежде чем мы углубимся в интересные обновления, давайте кратко вспомним, что такое инспектор Pharo AI DataFrame. Короче говоря, это мощный инструмент, который позволяет разработчикам проверять и манипулировать фреймами данных — структурированными наборами данных — в среде программирования Pharo. Кадры данных широко используются в анализе данных, машинном обучении и статистике, что делает их важным компонентом для многих программистов.
На данный момент отображается:

  • Общая информация о DataFrame.
  • Гистограммы всех числовых столбцов DataFrame.
  • Матрица рассеяния DataFrame.
  • Интерактивная функция (которую я недавно добавил).

Загрузка инспектора DataFrame Pharo AI

Выполните этот фрагмент кода на изображении игровой площадки.

EpMonitor disableDuring: [ 
    Metacello new
        baseline: 'AIDataFrameInspector';
        repository: 'github://pharo-ai/data-inspector/src';
 onConflictUseIncoming;
        load ]

Пример DataFrame

tvShow := DataFrame withRows: #(
 (Umberella  3  2  4.7  Oscar)
 (Coffee     2  7  3.9  Emmy)
 (Christmas  3  1  5    Oscar)
 (Pilot      1  1  4.5  Emmy)
 (Birthday   2  5  4.1  Emmy)).
tvShow columnNames: #(name season episode rating nomination).

Почему DataFrames должны быть интерактивными

Интерактивные фреймы данных позволяют пользователям быстро перемещаться по большим наборам данных, просматривать данные и выявлять закономерности или выбросы. Благодаря таким функциям, как сортировка, поиск и регулировка ширины столбцов, пользователи могут быстро сосредоточиться на важной информации и получить ценную информацию, не теряясь в море данных.
Пользователи также могут редактировать DataFrames без необходимости их экспорта и использования другого программного обеспечения для отредактируйте его.

1. Добавление функции редактирования ✏️

Одним из значительных улучшений, над которыми я работал, было добавление функции редактирования в инспектор DataFrame. Это означает, что теперь пользователи могут изменять содержимое отдельных ячеек внутри фрейма данных непосредственно из инспектора. Если вам нужно исправить опечатку или обновить значение, инспектор теперь позволяет вам сделать это без особых усилий.
Пользователи могут просто нажать кнопку «Изменить», изменить содержимое и нажать Enter после изменения каждой ячейки. Пользователи могут вернуться в режим чтения после внесения изменений.

2. Расширение возможностей поиска 🔍

Поиск конкретных данных в большом фрейме данных может быть похож на поиск иголки в стоге сена. Чтобы решить эту проблему, я интегрировал в инспектор функцию поиска. Теперь пользователи могут искать определенные значения, строки или столбцы, что делает исследование данных намного более эффективным.
Инспектор DataFrame будет динамически отображать строки, содержащие нужный элемент, который вводится в строке поиска.

3. Удобная сортировка 📂

Сортировка данных — фундаментальная операция анализа данных. Я обновил возможности сортировки инспектора DataFrame, позволяя пользователям сортировать данные по одному или нескольким столбцам. Это усовершенствование упрощает процесс упорядочения данных по возрастанию или убыванию, способствуя более быстрому извлечению информации.
При нажатии кнопки «Сортировать» открывается новое окно, в котором пользователи могут выбрать имя столбца (из раскрывающегося списка). по которому следует сортировать DataFrame и как его следует сортировать (по возрастанию, по убыванию и т. д.).

4. Изменение ширины столбцов ↔️

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

Влияние и не только

Усовершенствования, внесенные за этот период кодирования, значительно повышают удобство использования и полезность инспектора Pharo AI DataFrame. Предоставляя возможности редактирования, поиска, сортировки и настройки ширины столбцов, я позволил разработчикам более эффективно работать с фреймами данных, независимо от того, занимаются ли они анализом данных, экспериментами по машинному обучению или любыми другими задачами, связанными с данными.
Заглядывая в будущее, цель состоит в том, чтобы продолжать совершенствовать и оптимизировать взаимодействие с пользователем, учитывать отзывы пользователей и, возможно, изучать дополнительные функции, которые могут еще больше повысить интерактивность DataFrame.

Последние мысли

Поскольку второй период написания GSoC подходит к концу, я доволен изменениями, которые я внес в улучшение инспектора Pharo AI DataFrame и библиотеки DataFrame. Это путешествие стало колоссальным опытом обучения, позволившим мне сотрудничать с активным сообществом и внести свой вклад в создание важного инструмента для программирования, ориентированного на данные. Это путешествие было бы невозможным без моих невероятных наставников Сирила Ферликота, Ларисы Сафиной и Александра Зайцева, которые всегда помогали и направляли меня на протяжении всего проекта.
Следите за новостями об этом захватывающем проекте по мере его развития за пределами GSoC.