FormulaCamp
Пройдено
15. Python in Excel и AI · pandas и графики Python · 15 мин

4. Графики: Matplotlib и Seaborn

Урок 4 из 6
    Теория урока

    Код в ячейке =PY() может вернуть картинку. Excel показывает её как объект в ячейке; через меню Python её можно вынести на лист поверх сетки и растянуть.

    import matplotlib.pyplot as plt
    df = xl("A1:B13", headers=True)
    plt.bar(df["Месяц"], df["Продажи"])
    plt.title("Продажи по месяцам")
    plt.ylabel("тыс. ₸")

    Seaborn строится поверх Matplotlib и сам группирует данные:

    import seaborn as sns
    df = xl("A1:C200", headers=True)
    sns.barplot(data=df, x="Город", y="Сумма", estimator="sum")   # столбцы = сумма по городам
    sns.histplot(df["Сумма"], bins=10)                           # распределение чеков
    sns.boxplot(data=df, x="Город", y="Сумма")                   # разброс и выбросы
    • plt.bar — столбцы, plt.plot — линия, plt.scatter — точечная;
    • в sns.barplot по умолчанию estimator — среднее, а не сумма. Частая ошибка: подпись «Выручка», а на графике средний чек;
    • гистограмма и «ящик с усами» показывают то, чего нет в обычных диаграммах Excel без настройки: распределение и выбросы;
    • график из Python — статичная картинка: при изменении данных он пересчитается вместе с ячейкой, но кликать по точкам и менять оформление мышью, как у диаграммы Excel, нельзя.

    Проверьте себя

    1. Что нарисует sns.barplot(data=df, x="Город", y="Сумма") без параметра estimator?
    2. Какой график показывает распределение чеков по диапазонам?
    3. Для чего удобен sns.boxplot?
    4. Чем график из Python in Excel отличается от обычной диаграммы Excel?
    5. Какая строка добавит заголовок графику Matplotlib?