Что мы будем изучать сегодня?

В этой статье мы узнаем, как интерпретировать данные с помощью гистограммы с помощью 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);

Выход

Заключение

В этой статье показана гистограмма на реальном примере. Спасибо, что прочитали, надеюсь, вы нашли это полезным. Остальные мои статьи смотрите здесь.