- Создание графика
- Что под капотом: Matplotlib
- Изучение данных
- Распределения и гистограммы
- Исключения
- Корреляция
- Анализ категориальных данных
- Группировка
- Определение коэффициентов
- Заключение
- Источники
- Как провести анализ данных в Python
- Основные библиотеки
- Начало работы
- Загрузка данных
- Предобработка данных
- Анализ данных
- Выводы
Создание графика
Начнем с отображающего эти столбцы графика. Настроим Jupyter с помощью волшебной команды %matplotlib :
Глядя на график, можно сделать следующие наблюдения:
- Средний доход уменьшается с уменьшением рейтинга. Это ожидаемо, потому что он определяется медианным доходом.
- Некоторые специальности имеют большие промежутки между 25-м и 75-м процентилями. Люди с такими степенями могут зарабатывать значительно меньше или значительно больше, чем средний доход.
- Другие специальности имеют очень небольшие промежутки между 25-м и 75-м процентилями. Люди с такими степенями получают зарплату, очень близкую к среднему доходу.
Некоторые специальности имеют широкий диапазон заработка, а другие – довольно узкий. Чтобы обнаружить и визуализировать эти различия, будем использовать другие типы графиков.
.plot() имеет несколько необязательных параметров, определяющих, какой тип графика создается:
- «area» – графики области;
- «bar» – вертикальные графики;
- «barh» – горизонтальные графики;
- «box» – квадратный график;
- «hexbin» – hexbin участки;
- «hist» – гистограммы;
- «kde» – оценка плотности ядра;
- «density» – псевдоним для «kde»;
- «line» – линейные графики;
- «pie» – круговые диаграммы;
- «scatter» – точечные диаграммы.
Значение по умолчанию – «line». Линейные графики обеспечивают хороший обзор ваших данных. Если не задать параметр для функции .plot(), она создаст линейный график с индексом по оси X и всеми числовыми столбцами по оси Y. Хотя это полезное значение по умолчанию для наборов данных с несколькими столбцами, для нашего датасета и его нескольких числовых столбцов оно выглядит небрежно.
В качестве альтернативы передаче строк параметру kind функции .plot(), объекты DataFrame имеют несколько методов, которые можно использовать для создания различных типов графиков:
По возможности попробуйте эти методы в действии.
Теперь, когда мы создали график, рассмотрим подробнее работу функции .plot().
Что под капотом: Matplotlib
Когда вы вызываете функцию .plot() для объекта DataFrame, Matplotlib создает график.
Чтобы убедиться в этом, воспользуемся двумя фрагментами кода. Создайте график с помощью Matplotlib, используя два столбца DataFrame:
Вы можете создать такой же график, используя метод DataFrame:
Вы можете использовать как pyplot.plot(), так и df.plot() для создания одного и того же графика. Однако если у вас уже есть экземпляр DataFrame, то df.plot() предлагает более чистый синтаксис.
Теперь приступим к изучению различных типов графиков и способов их создания.
Изучение данных
Следующие графики дадут общий обзор конкретного столбца набора данных. Вы рассмотрите распределение свойств на гистограмме и познакомитесь с инструментами для изучения исключений.
Распределения и гистограммы
DataFrame – не единственный класс в pandas с методом .plot(). Объект Series предоставляет аналогичную функциональность. Вы можете получить каждый столбец DataFrame как объект Series. Вот пример использования столбца «Median»:
Гистограмма показывает данные, сгруппированные в десять ячеек в диапазоне от $20 000 до $120 000 с шагом в $10 000.
Исключения
В правой части графика виднеется маленькая ячейка – специалисты в этой области получают большую зарплату по сравнению со всеми категориями. Хотя это не основная цель, гистограмма может помочь обнаружить такие исключения. Исследуем эту штуку подробнее:
В отличие от первого графика, мы хотим сравнить несколько точек данных и увидеть более подробную информацию о них. Для этого вертикальный график является отличным инструментом. Выберем пять специальностей с самым высоким средним доходом. Необходимо выполнить два шага:
- Для сортировки по столбцу «Median» используйте функцию .sort_values() и укажите имя столбца, а также направление ascending=False.
- Чтобы получить первые пять пунктов списка, используйте функцию .head().
Создадим новый DataFrame top_5:
Этот график показывает, что средняя зарплата специалистов нефтегазового направления более чем на $20 000 выше остальных. Заработки занявших 2-4 места специальностей относительно близки друг к другу.
Если у вас есть точки данных с гораздо более высокими/низкими значениями, чем остальные, необходимо этот момент исследовать: можно просмотреть столбцы, содержащие связанные данные.
Рассмотрим все специальности, средняя зарплата которых превышает $60 000. Отфильтруем их по маске df [ df [«Median»] > 60000] и создадим график с тремя столбцами:
25-й и 75-й процентили подтверждают, что нефтяники самые высокооплачиваемые работники.
Почему исключения так важны? Если вы студент – все очевидно, но исключения интересны с точки зрения анализа. Неверные данные могут быть вызваны ошибками или погрешностями.
Корреляция
Часто требуется проверить, связаны ли столбцы набора данных. Например, связан ли высокий оклад с вероятностью не получить работу. В качестве первого шага создайте точечную диаграмму с этими столбцами:
Можно заметить, что существенной корреляции между доходами и уровнем безработицы нет.
Хотя точечная диаграмма является отличным инструментом для получения первого впечатления о возможной корреляции, она не является окончательным доказательством связи – для этого подойдет функция .corr() .
Однако имейте в виду, что даже если существует корреляция между двумя значениями, не факт, что изменение одного приведет к изменению другого.
Анализ категориальных данных
Чтобы обрабатывать большие куски информации, удобно сортировать ее по категориям. Здесь мы познакомимся с инструментами для оценки категорий и проверки ее валидности.
Многие наборы данных уже содержат явную или неявную категоризацию – в нашем примере 173 специальности разделены на 16 категорий.
Группировка
Основное использование категорий – группирование и агрегирование. Можно использовать функцию .groupby() для определения популярности каждой из категорий в основном датасете:
Определение коэффициентов
Если необходимо визуализировать соотношения, пригодятся круговые графики. Поскольку cat_totals содержит несколько маленьких категорий, создание кругового графика с помощью cat_totals.plot(kind=»pie») приведет к появлению крошечных фрагментов с перекрывающимися метками.
Чтобы решить проблему, следует объединить более мелкие категории в одну группу. Например, категории с общим числом менее 100 000 в категорию «Другое». Теперь создадим круговую диаграмму:
Заключение
Этот материал направлен на изучение процесса визуализации набора данных с помощью Python и библиотеки P andas.
Из него вы узнали, как сделать множество вещей:
- получить распределение вашего набора данных с помощью гистограммы;
- произвести корреляцию с точечной диаграммой;
- анализировать категории с гистограммами и их соотношениями с круговыми диаграммами;
- определить, какой график больше подходит для текущей задачи;
- используя функцию .plot() и небольшой DataFrame, эффективно управлять визуализацией ваших данных.
Используя эти знания, вы можете открывать для себя еще более интересные визуализации. Удачи!
На Python создают прикладные приложения, пишут тесты и бэкенд веб-приложений, автоматизируют задачи в системном администрировании, его используют в нейронных сетях и анализе больших данных. Язык можно изучить самостоятельно, но на это придется потратить немало времени. Если вы хотите быстро понять основы программирования на Python, обратите внимание на онлайн-курс «Библиотеки программиста». За 30 уроков (15 теоретических и 15 практических занятий) под руководством практикующих экспертов вы не только изучите основы синтаксиса, но и освоите две интегрированные среды разработки (PyCharm и Jupyter Notebook), работу со словарями, парсинг веб-страниц, создание ботов для Telegram и Instagram, тестирование кода и даже анализ данных. Чтобы процесс обучения стал более интересным и комфортным, студенты получат от нас обратную связь. Кураторы и преподаватели курса ответят на все вопросы по теме лекций и практических занятий.
Источники
Как провести анализ данных в Python
Освойте анализ данных в Python с этим простым руководством: от основных библиотек до предобработки и визуализации данных!
Анализ данных в Python — это процесс изучения и обработки данных с помощью языка программирования Python для получения информации, обнаружения закономерностей или предсказания будущего поведения. В этом руководстве мы рассмотрим основные библиотеки и методы, необходимые для выполнения анализа данных в Python.
Основные библиотеки
Для анализа данных в Python существуют следующие ключевые библиотеки:
- NumPy — это библиотека для работы с массивами и матрицами. Она предоставляет множество функций для математических и статистических операций.
- Pandas — библиотека для работы с табличными данными (такими как Excel или SQL таблицы). Она предоставляет инструменты для очистки, агрегации и визуализации данных.
- Matplotlib и Seaborn — это библиотеки для построения графиков и визуализации данных.
Начало работы
Для начала установим необходимые библиотеки:
pip install numpy pandas matplotlib seaborn
Теперь импортируем их в наш Python-скрипт:
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns
Загрузка данных
Для анализа данных нам необходимо загрузить данные в формате CSV, Excel или SQL. В этом примере мы будем использовать данные о пассажирах Титаника в формате CSV:
data = pd.read_csv("titanic.csv")
Посмотрим на первые несколько строк данных:
Предобработка данных
Перед анализом данных полезно провести предобработку, чтобы удалить пропущенные значения, исправить ошибки и преобразовать данные в удобный для анализа формат. Например, мы можем заполнить пропущенные значения возраста средним возрастом пассажиров:
data['Age'].fillna(data['Age'].mean(), inplace=True)
Также можно создать новый столбец с информацией о том, был ли пассажир один или с семьей:
data['Family'] = data['SibSp'] + data['Parch']
Анализ данных
Теперь, когда наши данные предобработаны, мы можем провести анализ данных. Например, можно исследовать связь между классом каюты и вероятностью выживания:
sns.barplot(x='Pclass', y='Survived', data=data) plt.show()
Также можно изучить распределение возрастов среди выживших и погибших пассажиров:
sns.histplot(data=data, x='Age', hue='Survived', kde=True) plt.show()
Выводы
В этом руководстве мы рассмотрели основные методы и библиотеки для анализа данных в Python. Надеемся, что это поможет вам в вашей работе со сложными наборами данных! 😊
Не забудьте обратить внимание на онлайн-школу, которая учит специалистов в сфере «Аналитика данных». Вставьте в текст спец.тег
Удачи вам в изучении анализа данных!