Menu
CoddyTech

Диаграмма рассеяния по столбцам

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

Означает ли более ёмкий аккумулятор больший запас хода? На диаграмме рассеяния с двумя столбцами ответ виден сразу: одна точка на строку:

Диаграмма рассеяния «Запас хода электровелосипеда»: семь электровелосипедов обозначены точками, ёмкость аккумулятора в Вт·ч по горизонтали, запас хода в км по вертикали; значения растут вместе от 250 Вт·ч и 35 км до 750 Вт·ч и 110 км

Столбец занимает место списка, поэтому ax.scatter принимает два столбца:

bikes = pd.DataFrame({
    "battery_wh": [250, 300, 400, 500, 500, 625, 750],
    "range_km": [35, 45, 60, 65, 75, 95, 110],
})
fig, ax = plt.subplots()
ax.scatter(bikes["battery_wh"], bikes["range_km"])
ax.set_title("E-bike Range")
ax.set_xlabel("Battery (Wh)")
ax.set_ylabel("Range (km)")
plt.show()

Точки, поднимающиеся вправо, означают, что столбцы растут вместе: взаимосвязь, которой может научиться модель. Бесформенное облако означает, что взаимосвязи нет.

ax.scatter никогда не видит названия столбцов, поэтому подписи осей нужно задать тебе.

challenge icon

Задание

Средне

Лесничий измерил 12 деревьев в trees.csv: age_years, trunk_cm и height_m. Что соотносится с высотой — возраст или ширина ствола? В стартовом коде одно из этих двух имён записывается в column, а затем настраивается график.

  1. Нарисуй по одной точке для каждого дерева: значения этого столбца по горизонтали, height_m — по вертикали.
  2. Подпиши ось x именем столбца.

У тебя должно получиться примерно так, как на этом графике для другого парка, где используется crown_m:

Диаграмма рассеяния с заголовком Tree Size: значения crown_m по горизонтали и Height (m) по вертикали; десять точек образуют слабо выраженную восходящую полосу — от деревьев высотой около 6 м с небольшими кронами до деревьев высотой 14 м с кронами 7.5 м

Coddy запустит твой код для обоих столбцов и опишет каждый график. Сравни их: более узкая восходящая полоса даст ответ на вопрос.

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

import pandas as pd
import matplotlib.pyplot as plt

trees = pd.read_csv("trees.csv")
column = input()

fig, ax = plt.subplots()
ax.set_title("Tree Size")
ax.set_ylabel("Height (m)")

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

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

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

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

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