Что мы будем изучать сегодня?
В этой статье мы узнаем, как интерпретировать данные с помощью гистограммы с помощью Seaborn.
Гистограмма — это наиболее распространенный инструмент визуализации, который использует столбцы для сравнения данных по категориям. Он показывает связь между числовой и категориальной переменной. Размер полосы представляет ее числовое значение.
Почему важно учиться?
Существуют различные причины для использования гистограммы, что делает необходимым изучение. Некоторые из них упомянуты ниже.
- Он обобщает обширные данные в визуальной форме.
- Это делает данные более презентабельными и легкими для понимания.
- Это также помогает лучше сравнивать данные и лучше прояснять тенденции, чем таблицы.
Как мы можем достичь сегодняшней цели?
План на сегодня такой:
Гистограмма набора данных обследования переполнения стека
- Определите проблему
- График вертикальной полосы
- График с горизонтальной полосой
Гистограмма с набором данных Титаника
- Выбор оценки (среднее, медиана, мода)
- Цветовой тон Параметр
Заключение
Давайте начнем с импорта соответствующих библиотек.
Вход
import pandas as pd from matplotlib import pyplot as plt import seaborn as sns import numpy as np
Гистограмма набора данных обследования переполнения стека
В этой статье мы будем использовать набор данных опроса Stackoverflow 2021. Вы можете скачать чистый набор данных здесь.
Давайте прочитаем набор данных, используя метод read_csv в pandas.
Вход
data = pd.read_csv('/content/drive/MyDrive/Article upload/dataset/survey2021/survey2021.csv')
Первые пять строк набора данных.
Вход
data.head()
Выход
data.columns предоставляет список всех 48 столбцов в наборе данных.
Вход
data.columns
Выход
Index(['ResponseId', 'MainBranch', 'Employment', 'Country', 'US_State', 'UK_Country', 'EdLevel', 'Age1stCode', 'LearnCode', 'YearsCode', 'YearsCodePro', 'DevType', 'OrgSize', 'Currency', 'CompTotal', 'CompFreq', 'LanguageHaveWorkedWith', 'LanguageWantToWorkWith', 'DatabaseHaveWorkedWith', 'DatabaseWantToWorkWith', 'PlatformHaveWorkedWith', 'PlatformWantToWorkWith', 'WebframeHaveWorkedWith', 'WebframeWantToWorkWith', 'MiscTechHaveWorkedWith', 'MiscTechWantToWorkWith', 'ToolsTechHaveWorkedWith', 'ToolsTechWantToWorkWith', 'NEWCollabToolsHaveWorkedWith', 'NEWCollabToolsWantToWorkWith', 'OpSys', 'NEWStuck', 'NEWSOSites', 'SOVisitFreq', 'SOAccount', 'SOPartFreq', 'SOComm', 'NEWOtherComms', 'Age', 'Gender', 'Trans', 'Sexuality', 'Ethnicity', 'Accessibility', 'MentalHealth', 'SurveyLength', 'SurveyEase', 'ConvertedCompYearly'], dtype='object')
Определите проблему
Мы хотим узнать, какие языки программирования входят в десятку самых популярных, используя столбец LanguageHaveWorkedWith. Мы будем извлекать информацию из 83439 разработчиков (одна строка равна 1 разработчику). Затем мы нанесем эту информацию на гистограмму, которая будет легко интерпретирована даже людьми, не являющимися техническими специалистами.
Примечание. Я провел некоторую очистку и предварительную обработку данных, чтобы извлечь количество языков, используемых каждым разработчиком. И запишите его в файл CSV.
Мы прочитаем этот файл и используем два столбца Language, NumOfPeopleUses с параметром usecols.
Вход
df = pd.read_csv(‘data.csv’, usecols=[‘Language’, ‘NumOfPeopleUses’]) df.head(10)
Выход
Вертикальная гистограмма
Давайте создадим гистограмму, чтобы визуализировать 5 наиболее часто используемых языков.
Чтобы визуализировать гистограмму, мы будем использовать морской метод barplot, в котором будут переданы три параметра: x, y и данные.
Вход
sns.barplot(x=’Language’, y=’NumOfPeopleUses’, data=df.head(10)) plt.xticks(rotation=45)
Выход
Это тот же код, что и выше, но я добавляю в конце точку с запятой(;), из которой мы можем избавиться от лишнего текста, такого как (array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]), ‹список из 10 основных объектов текстовых меток›)
Вход
sns.barplot(x=’Language’, y=’NumOfPeopleUses’, data=df.head(10)); plt.xticks(rotation=45);
Выход
Давайте визуализируем гистограмму 20 наиболее часто используемых языков.
Вход
sns.barplot(x=’Language’, y=’NumOfPeopleUses’, data=df.head(20));
Выход
По оси X ясно видно, что язык не виден (данные представлены в расширенном виде). Чтобы решить эту проблему, мы можем построить график горизонтально.
График с горизонтальной полосой
Вместо определения языка по оси x мы даем по оси y и NumOfPeopleUses по оси x.
Вход
sns.barplot(x=’NumOfPeopleUses’, y=’Language’,data=df.head(20));
Выход
Гистограмма с набором данных Титаника
Давайте узнаем больше о гистограмме, но на этот раз мы будем использовать титанический набор данных.
Вход
titanic = sns.load_dataset(‘titanic’) titanic.head()
Выход
На приведенном выше гистограмме (опрос 2021) у нас есть подсчет каждого языка, поэтому мы легко его интерпретировали. Однако если у нас нет столбца со значением count. Мы можем взять два столбца из огромного набора данных: пол по оси X и возраст по оси Y и создайте гистограмму.
Вход
sns.barplot(x=’sex’, y=’age’, data=titanic);
Выход
Выбор оценки (среднее, медиана, мода)
На приведенных выше графиках вы видите средний возраст мужчин и женщин, потому что гистограмма также оценивает центральную тенденцию числовой переменной.
Гистограмма Seaborn имеет один параметр, оценщик, который используется статистической функцией для оценки в пределах каждого категориального интервала. По умолчанию установлено значение среднее, но мы можем изменить его на другую статистическую функцию, такую как медиана или мода.
Вход
sns.barplot(x=’sex’, y=’age’, estimator=np.mean, data=titanic);
Выход
Здесь оценщиком является медиана.
Вход
sns.barplot(x=’sex’, y=’age’, estimator=np.median, data=titanic);
Выход
Цветовой тон Параметр
Мы также можем изменить цвет полос, используя параметры palette.
Вход
sns.barplot(x=’sex’, y=’age’, palette=’Oranges_r’, data=titanic);
Выход
Другим важным параметром является HUE, который используется для цветового кодирования столбца во фрейме данных.
Преимущество этого параметра в том, что он дает более глубокое знание данных. Например, если сейчас установить pclass (класс пассажира), мы увидим три полоски для мужского и женского для каждого пассажирского класса >ось Y показывает средний возраст.
Вход
sns.barplot(x=’sex’, y=’age’, hue=’pclass’, data=titanic);
Выход
Эти черные линии представляют собой ci(это размер доверительных интервалов, которые должны быть построены вокруг оценочных значений. Если установлено значение «sd», он пропустит начальную загрузку и нарисует стандартное отклонение наблюдения)
Если вы хотите удалить это, просто установите ci равным Нет.
Вход
sns.barplot(x=’sex’, y=’age’, hue=’pclass’,ci=None, data=titanic);
Выход
Заключение
В этой статье показана гистограмма на реальном примере. Спасибо, что прочитали, надеюсь, вы нашли это полезным. Остальные мои статьи смотрите здесь.