Время прочтения: 4 мин.

В больших, устоявшихся компаниях мы зачастую можем встретить коллег, которые работают в них не один десяток лет. Они — настоящие профессионалы своего дела, знающие все тонкости и детали, всегда готовы помочь и дать совет. Но с каждым годом объем данных стремительно увеличивается. Программы, к которым они привыкли, не справляются, и из раза в раз им приходится обращаться к коллегам за помощью в тривиальных задачах по обработке данных, только потому, что их инструмент не приспособлен к таким нагрузкам.

 Для тех, кто начинает погружаться в освоение современных способов обработки данных и начал изучать python, я советую попробовать библиотеку Mito.

Mito — электронная таблица, которая генерирует Python-код. Вы можете вызвать её в своем Jupyter-ноутбуке и каждое изменение, внесенное в электронную таблицу, будет генерировать эквивалентный Python-код.

Чтобы установить Mito, выполните следующие код в ноутбуке:

!pip install mitosheet

Для импортирования библиотеки и запуска графического интерфейса выполняем команды:

import mitosheet
mitosheet.sheet()

Импорт данных

Для загрузки данных в формате csv или xlsx в интерфейсе предусмотрена кнопка ”Import”.

Mito сгенерирует:

# Imported 12321.csv
import pandas as pd
df_12321 = pd.read_csv(r'12321.csv')

Если вы хотите загрузить данные из DataFrame, то пропишите в скобках имя переменной, в которой он хранится:

import mitosheet
mitosheet.sheet(r'12321.csv')

Вы можете одновременно открыть несколько разных таблиц.

Обработка данных В Mito вы можете использовать: функции, фильтровать, сортировать, объединять наборы данных, изменять типы данных и многое другое. Например, переименовать столбец — в два клика.

Mito сгенерирует:

# Renamed columns c
df_12321.rename(columns={'color': 'c'}, inplace=True)

Анализ данных

Mito обладает достаточно большим функционалом. Например, вы можете посчитать сводную таблицу в Mito, нажав кнопку “Pivot” на панели инструментов, а затем выбрав строки, столбцы, значения и типы агрегирования.

Mito сгенерирует:

# Pivoted into df_12321
tmp_df = df_12321[['director_name', 'country']]
pivot_table = tmp_df.pivot_table(
    index=['country'],
    values=['director_name'],
    aggfunc={'director_name': ['count']}
)
pivot_table.set_axis([flatten_column_header(col) for col in pivot_table.keys()], axis=1, inplace=True)
df_12321_pivot = pivot_table.reset_index()

Это гораздо более быстрый способ создания кода, чем постоянное переписывание.

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

Кроме работы со строками здесь можно работать и со столбцами: удалять, добавлять, переименовывать. Если вы по неосторожности сделали что-то не так: удалили данные или испортили их, просто нажмите «Undo» для отмены действия.

Визуализация

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

Чтобы создать диаграмму — нажмите кнопку “Graph”, выберете тип графика и оси.

Mito сгенерирует:

# Filter the dataframe so that it does not crash the browser
df_12321_filtered = df_12321.head(1000)

# Construct the graph and style it. Further customize your graph by editing this code.
# See Plotly Documentation for help: https://plotly.com/python/plotly-express/
fig = px.box(df_12321_filtered, x='content_rating', y='gross', points='outliers')
fig.update_layout(
    title='content_rating, gross (first 1000 rows) box plot', 
    xaxis = dict(
        showgrid=True, 
        rangeslider = dict(
            visible=True, 
            thickness=0.05
        )
    ), 
    yaxis = dict(
        showgrid=True
    ), 
    legend = dict(
        orientation='v'
    ), 
    paper_bgcolor='#FFFFFF'
)
fig.show(renderer="iframe")

Графики динамические, Mito подсветит вам экстремумы, квантили и выведет их значения во всплывающих окнах.

И это только малая часть того, на что способна библиотека Mito.

На рынке в сегменте библиотек для работы с данными в графическом интерфейсе есть три основных игрока: D-tale, Bamboolib и Mito. Они все достойны внимания, но самый нативный подход у Mito. Так же Mito обладает самым обширным функционалом. Мне Mito сильно помог разобраться с некоторыми функциями pandas’а в начале моего погружения в программирование, а сейчас он позволяет мне экономить очень много времени.

Mito отлично подходит любителям Excel, которые хотят перевести свои навыки на Python и ускорить обработку больших объемов данных.  Так же он подойдет пользователям Python, которые хотят быстрее генерировать свой код, без необходимости искать его в Google или на Stack Overflow.

Всю документацию Mito можно найти по ссылке: https://docs.trymito.io