Библиотека Python, которая помогает нам работать с Pandas, как если бы мы использовали Excel.

Pandas — лучший инструмент для анализа данных в Python, и у него много преимуществ по сравнению с такими инструментами, как Microsoft Excel, но переход с Excel на Python сложен для тех, у кого мало опыта программирования или для тех, кто плохо знаком с Pandas.

К счастью, это уже не так. Несколько недель назад я наткнулся на библиотеку Python, которая помогает нам работать с Pandas, как если бы мы использовали Excel.

В этой статье я покажу вам, как делать такие вещи, как создание сводных таблиц, объединение таблиц, фильтрация данных и многое другое, используя библиотеку Python, которая позволяет нам работать с фреймом данных Pandas, используя интерфейс, аналогичный Excel, и автоматически генерирует код Pandas для нас.

Переход с Excel на Python еще никогда не был таким простым!

Набор данных и установка

Набор данных

В этом руководстве мы будем использовать данные из CSV-файла Успеваемость учащихся, доступного на Google Диске, который я сгенерировал сам. Это случайные данные, которые содержат оценки, полученные учащимися по разным предметам, и с помощью Mito мы легко перейдем от электронных таблиц Excel к фреймам данных Python.

Убедитесь, что файл CSV и ваш скрипт Python находятся в одном каталоге.

Монтаж

Чтобы легко создавать сводные таблицы, визуализации и выполнять операции, которые вы выполняете в Excel или Pandas, нам нужно только установить библиотеку mitosheet (убедитесь, что у вас есть Python 3.6 или выше, а также JupyterLab).

Чтобы установить mitosheet, сначала откройте новый терминал или командную строку, а затем выполните следующую команду (если возможно, установите ее в новой виртуальной среде):

python -m pip install mitoinstaller
python -m mitoinstaller install

Это все, что нам нужно, чтобы начать работать с Mito! Подробнее об установке читайте в официальной документации.

Создайте фрейм данных с митолистом

Чтобы создать фрейм данных с помощью Python, нам нужно будет импортировать pandas и использовать метод .read_csv(), но с Mito нам нужно только import mitosheet и инициировать его, набрав mitosheet.sheet().

import mitosheet
mitosheet.sheet()

Приведенный выше код создаст митолист. Если лист не отображается при вызове mitosheet.sheet(), перезапустите JupyterLab.

После этого мы можем импортировать набор данных, нажав кнопку + в левом нижнем углу. Затем выберите файл StudentsPerformance.csv, как показано ниже.

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

from mitosheet import *; register_analysis('UUID-b580825e-1ba5-47fc-851a-612cf52b9543')
# Imported StudentsPerformance.csv
import pandas as pd
StudentsPerformance_csv = pd.read_csv(r'StudentsPerformance.csv')

Это все, что вам нужно для импорта данных с помощью mitosheet. Теперь давайте автоматизируем некоторые распространенные методы Pandas. Вместо этого вы можете продолжить чтение или посмотреть мой видеоурок.

Добавить новый столбец и переименовать столбец

Добавление нового столбца — обычная задача, которую мы выполняем в Excel/Pandas. В Excel нам нужно только щелкнуть правой кнопкой мыши, чтобы создать новый столбец, а в Pandas мы должны использовать метод .insert().

С Mito мы можем получить лучшее из обоих миров. Чтобы добавить новый столбец, вам нужно всего лишь нажать на кнопку «Добавить столбец». Затем дважды щелкните имя столбца, чтобы задать нужное имя.

Давайте сделаем это, создав новый столбец, который мы назовем «средний».

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

Сумма строки

Mito может помочь нам суммировать значения строк, как если бы мы использовали Microsoft Excel. Нам нужно только найти ячейку, в которую мы хотим ввести формулу, затем нажать = и выбрать столбцы, которые мы хотим суммировать, и написать между ними оператор +.

Чтобы лучше показать вам, как это работает, давайте посчитаем средний балл за экзамены по математике, чтению и письму. Найдите ячейку в столбце «среднее», который мы создали на предыдущем шаге, напишите формулу, показанную на рисунке ниже, нажмите клавишу ввода и вуаля!

Если вам интересно узнать, что сделал Mito, вот фрагмент кода, автоматически сгенерированный Mito.

Фильтровать DataFrame

Мы можем фильтровать данные на основе одного или нескольких условий.

На основании 1 условия

Допустим, мы хотим показать данные, относящиеся только к полу female. С Mito нам нужно только выбрать столбец «пол», затем щелкнуть значок воронки и выбрать, что мы хотим отфильтровать. В этом случае мы переходим в раздел «фильтр», нажимаем «добавить фильтр» и ставим «точно» равным «женскому полу».

На основе 2 или более условий

Теперь предположим, что мы хотим показать данные, относящиеся к полу female, принадлежащему group B.

Здесь нам нужно только повторить шаги, которые мы выполнили, чтобы выбрать пол female, но теперь с group B. Выберите столбец «группа», нажмите на значок воронки, перейдите в раздел «фильтр», нажмите «добавить фильтр» и установите «точно» равно «группе B».

Код ниже соответствует предыдущим фильтрам.

Создайте сводную таблицу

Мы можем создать сводную таблицу в Python так же, как в Excel, используя mitosheet. Сначала нажмите кнопку «Поворот», а затем выберите элементы, которые вы хотите включить в строки, столбцы и значения.

В нашем примере мы создадим сводную таблицу, в которой будут показаны средние баллы по математике и чтению для всех групп внутри столбца race/ethnicity (групповой столбец). Для этого выполните действия, показанные на гифке ниже.

Если вам интересно узнать код за кулисами, вот фрагмент.

Создать барплот

Как и Excel, Mito помогает нам создать базовую визуализацию парой кликов в Python.

Давайте создадим гистограмму сводной таблицы, которую мы создали ранее. Для этого нажмите кнопку «График», затем убедитесь, что источником данных является созданная нами новая сводная таблица «df2», а тип диаграммы установлен на «bar».

На ось X мы должны включить столбец «раса/этническая принадлежность» (столбец группы), а на ось Y — столбец «средний балл совпадения».

Вот и все! Мы могли бы сделать все это за пару минут с Мито. Если у вас большой опыт работы с Pandas, возможно, вы могли бы получить результаты так же быстро, как Mito, но эта библиотека пригодится, если вы новичок в Pandas или Python.

Объединить 2 таблицы

Слияние 2 таблиц можно легко выполнить с помощью Mito. В этом примере мы увидим, как выполнить внутреннее соединение. Для этого нам нужны две таблицы с общим столбцом, поэтому скачайте CSV-файлы StudentsPerformance_id и LanguageScore с моего Github. Чтобы импортировать эту вторую таблицу, выполните действия, описанные в первом разделе этой статьи Создание фрейма данных.

Когда вы импортируете две таблицы в Mito, нажмите кнопку «Объединить», чтобы соединить их. Убедитесь, что для параметра «Объединить ключ» установлено значение «id» в обеих таблицах (это общий столбец, который нам нужен для внутреннего соединения).

После этого вы увидите новый фрейм данных с именем «df3». Это результат после объединения фреймов данных «StudentsPerformance_id_csv» и «LanguageScore_csv».

Подпишитесь на мою рассылку с более чем 6 000 человек, чтобы получить мою памятку по Python для Data Science, которую я использую во всех своих руководствах (бесплатный PDF)

Если вам нравится читать такие истории и вы хотите поддержать меня как писателя, подумайте о том, чтобы зарегистрироваться и стать участником Medium. Это 5 долларов в месяц, что дает вам неограниченный доступ к тысячам руководств по Python и статьям по науке о данных. Если вы зарегистрируетесь по моей ссылке, я получу небольшую комиссию без каких-либо дополнительных затрат для вас.