Menu
CoddyTech

Гистограмма столбца

Часть раздела Данные и графики путешествия по Machine Learning на Coddy. Урок 50 из 60.

Ожидание вечером в клинике дольше, чем утром? На это сразу отвечают две гистограммы на одних осях:

Две полупрозрачные гистограммы времени ожидания в клинике: ожидание утром — от 6 до 16 минут слева, вечером — от 13 до 28 минут справа; гистограммы немного перекрываются

Столбец передаётся прямо в ax.hist. Сохрани строки каждой группы, затем построй обе гистограммы на одних осях:

# В waits есть столбцы shift и minutes
morning = waits[waits["shift"] == "morning"]
evening = waits[waits["shift"] == "evening"]
fig, ax = plt.subplots()
ax.hist(morning["minutes"], bins=4, alpha=0.5, label="morning")
ax.hist(evening["minutes"], bins=4, alpha=0.5, label="evening")
ax.set_title("Clinic Waits")
ax.set_xlabel("Minutes")
ax.legend()
plt.show()

alpha=0.5 делает столбцы полупрозрачными (0 — невидимые, 1 — непрозрачные), поэтому наложения остаются видимыми. label= задаёт имя для каждого столбца в легенде.

Когда группы распределены по разным диапазонам, этот столбец помогает модели отличать их друг от друга.

challenge icon

Задание

Средне

В офисе спросили сотрудников, сколько времени занимает дорога на работу: в commute.csv есть mode (bike или bus) и minutes. У кого время поездки более разбросано? В стартовом коде каждая группа сохранена в bike и bus, а график подготовлен.

Построй гистограмму для minutes каждой группы с параметрами bins=5, alpha=0.5 и меткой bike или bus.

Твоя гистограмма должна быть похожа на эту, построенную по результатам опроса прошлого года:

Две полупрозрачные гистограммы с заголовком Commute Times: время поездок на bike сгруппировано в диапазоне от 14 до 26 минут, время поездок на bus распределено в диапазоне от 15 до 45 минут; есть легенда

Группа, столбцы которой охватывают больше минут, имеет больший разброс. Coddy описывает твою гистограмму в выводе.

Попробуйте сами

import pandas as pd
import matplotlib.pyplot as plt

trips = pd.read_csv("commute.csv")
bike = trips[trips["mode"] == "bike"]
bus = trips[trips["mode"] == "bus"]

fig, ax = plt.subplots()
ax.set_title("Commute Times")
ax.set_xlabel("Minutes")

# Напишите свой код ниже

# Не изменяйте строки ниже
ax.legend()
plt.show()
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Данные и графики

Потренируйтесь самостоятельно: Онлайн-компилятор Python