Окно в Мир
| |||
Таблица умножения Тренажер Онлайн
2 x 10 = 20
2 x 5 = 10
2 x 7 = 14
2 x 9 = 18
2 x 2 = 4
2 x 1 = 2
2 x 6 = 12
2 x 8 = 16
2 x 4 = 8
2 x 3 = 6
1681569838954,9136 1
Тесты на проверку знаний табличного умножения и деления
Вам задается 10 вопросов по таблице умножения в разброс без ответов.
Вопросы не повторяются.
Проверить знания
История решений
Таблица умножения на 2
Таблица умножения на 3
Таблица умножения на 4
Таблица умножения на 5
Таблица умножения на 6
Таблица умножения на 7
Таблица умножения на 8
Таблица умножения на 9
Таблица умножения до 2
Таблица умножения до 3
Таблица умножения до 4
Таблица умножения до 5
Таблица умножения до 6
Таблица умножения до 7
Таблица умножения до 8
Таблица умножения до 9
Таблица умножения на 2 по возрастанию
Таблица умножения на 3 по возрастанию
Таблица умножения на 4 по возрастанию
Таблица умножения на 5 по возрастанию
Таблица умножения на 6 по возрастанию
Таблица умножения на 7 по возрастанию
Таблица умножения на 8 по возрастанию
Таблица умножения на 9 по возрастанию
Таблица умножения на 2 по убыванию
Таблица умножения на 3 по убыванию
Таблица умножения на 4 по убыванию
Таблица умножения на 5 по убыванию
Таблица умножения на 6 по убыванию
Таблица умножения на 7 по убыванию
Таблица умножения на 8 по убыванию
Таблица умножения на 9 по убыванию
Визуализация данных в Python с помощью plt.

Смотреть сейчас Это руководство содержит соответствующий видеокурс, созданный командой Real Python. Посмотрите его вместе с письменным учебным пособием, чтобы углубить свое понимание: Использование plt.scatter() для визуализации данных в Python
Важной частью работы с данными является возможность визуализировать их. В Python есть несколько сторонних модулей, которые вы можете использовать для визуализации данных. Одним из самых популярных модулей является Matplotlib и его подмодуль pyplot , часто упоминаемый с использованием псевдонима plt
. Matplotlib предоставляет очень универсальный инструмент под названием plt.scatter()
, который позволяет создавать как базовые, так и более сложные точечные диаграммы.
Ниже вы ознакомитесь с несколькими примерами, которые покажут вам, как эффективно использовать эту функцию.
В этом уроке вы узнаете, как:
- Создать точечную диаграмму с использованием
plt.scatter()
- Использовать обязательные и необязательные входные параметры
- Настройка точечных диаграмм для базовых и более сложных графиков
- Представление более чем двух измерений на точечной диаграмме
Чтобы получить максимальную отдачу от этого руководства, вы должны быть знакомы с основами программирования Python и основами NumPy и его объекта ndarray
. Вам не нужно быть знакомым с Matplotlib, чтобы следовать этому руководству, но если вы хотите узнать больше о модуле, ознакомьтесь с Python Plotting With Matplotlib (Руководство).
Бесплатный бонус: Нажмите здесь, чтобы получить доступ к бесплатному руководству по ресурсам NumPy, в котором вы найдете лучшие учебные пособия, видео и книги для улучшения ваших навыков работы с NumPy.
Создание точечных диаграмм
Точечная диаграмма — это визуальное представление того, как две переменные связаны друг с другом. Вы можете использовать точечные диаграммы, чтобы исследовать взаимосвязь между двумя переменными, например, ища любую корреляцию между ними.
В этом разделе руководства вы познакомитесь с созданием базовых диаграмм рассеивания с помощью Matplotlib. В последующих разделах вы узнаете, как дополнительно настраивать графики для представления более сложных данных с использованием более двух измерений.
Удалить рекламу
Начало работы с
plt.scatter()
Прежде чем вы сможете начать работать с plt.scatter()
, вам необходимо установить Matplotlib. Вы можете сделать это с помощью стандартного диспетчера пакетов Python, pip
, выполнив в консоли следующую команду:
$ python -m pip установить matplotlib
Теперь, когда вы установили Matplotlib, рассмотрите следующий вариант использования. Кафе продает шесть различных видов апельсиновых напитков в бутылках. Владелец хочет понять взаимосвязь между ценой напитков и количеством каждого из них, которое он продает, поэтому он отслеживает, сколько каждого напитка он продает каждый день. Вы можете визуализировать эту связь следующим образом:
импортировать matplotlib.pyplot как plt цена = [2,50, 1,23, 4,02, 3,25, 5,00, 4,40] продаж_за_день = [34, 62, 49, 22, 13, 19] plt.scatter (цена, продажи_за_день) plt.show()
В этом сценарии Python вы импортируете подмодуль pyplot
из Matplotlib, используя псевдоним plt
. Этот псевдоним обычно используется по соглашению для сокращения имен модулей и подмодулей. Затем вы создаете списки с ценой и средними продажами в день для каждого из шести проданных апельсиновых напитков.
Наконец, вы создаете точечную диаграмму, используя plt.scatter()
с двумя переменными, которые вы хотите сравнить, в качестве входных аргументов. Поскольку вы используете сценарий Python, вам также необходимо явно отобразить фигуру с помощью
plt.show()
.
Когда вы используете интерактивную среду, такую как консоль или Jupyter Notebook, вам не нужно вызывать plt.show()
. В этом уроке все примеры будут в виде скриптов и будут включать вызов plt.show()
.
Вот результат этого кода:
Этот график показывает, что, как правило, чем дороже напиток, тем меньше товаров продается. Однако напиток, который стоит 4,02 доллара, является исключением, что может свидетельствовать о том, что это особенно популярный продукт. При таком использовании точечных диаграмм тщательная проверка может помочь вам изучить взаимосвязь между переменными. Затем вы можете провести дальнейший анализ, используя линейную регрессию или другие методы.
Сравнение
plt.scatter()
и plt.plot()
Вы также можете создать диаграмму рассеяния, показанную выше, с помощью другой функции в matplotlib.
. Matplotlib pyplot
plt.plot()
— это функция построения графиков общего назначения, которая позволит вам создавать различные линейные или маркерные графики.
Вы можете получить тот же точечный график, что и полученный в разделе выше, с помощью следующего вызова plt.plot()
, используя те же данные:
plt.plot(цена, продажи_за_день, "o") plt.show()
В этом случае вы должны были включить маркер "o"
в качестве третьего аргумента, иначе plt.plot()
построит линейный график. График, который вы создали с помощью этого кода, идентичен графику, который вы создали ранее с помощью plt.scatter()
.
В некоторых случаях для базовой диаграммы рассеяния, которую вы строите в этом примере, может быть предпочтительнее использовать plt.plot()
. Вы можете сравнить эффективность двух функций, используя модуль timeit
:
время импорта импортировать matplotlib.pyplot как plt цена = [2,50, 1,23, 4,02, 3,25, 5,00, 4,40] продаж_за_день = [34, 62, 49, 22, 13, 19] Распечатать( "plt.scatter()", время.время( "plt.scatter(цена, продажи_за_день)", число=1000, глобальные = глобальные(), ), ) Распечатать( "plt.plot()", время.время( "plt.plot(цена, продажи_за_день, 'o')", число=1000, глобальные = глобальные(), ), )
Производительность будет разной на разных компьютерах, но когда вы запустите этот код, вы обнаружите, что plt.plot()
значительно эффективнее, чем plt.scatter()
. При выполнении приведенного выше примера в моей системе plt.plot()
работало более чем в семь раз быстрее.
Если вы можете создавать точечные диаграммы с помощью plt.plot()
, и это намного быстрее, зачем вам вообще использовать plt.scatter()
? Вы найдете ответ в оставшейся части этого руководства. Большинство настроек и расширенных возможностей, о которых вы узнаете в этом руководстве, возможны только при использовании plt.
. Вот эмпирическое правило, которое вы можете использовать: scatter()
- Если вам нужна базовая точечная диаграмма, используйте
plt.plot()
, особенно если вы хотите отдать приоритет производительности. - Если вы хотите настроить точечную диаграмму, используя более продвинутые функции построения графиков, используйте
plt.scatter()
.
В следующем разделе вы начнете изучать более сложные способы использования plt.scatter()
.
Удалить рекламу
Настройка маркеров на точечных диаграммах
Вы можете визуализировать более двух переменных на двумерной диаграмме рассеяния, настроив маркеры. Существует четыре основных функции маркеров, используемых в точечной диаграмме, которые можно настроить с помощью plt.scatter()
:
- Размер
- Цвет
- Форма
- Прозрачность
В этом разделе руководства вы узнаете, как изменить все эти свойства.
Изменение размера
Вернемся к владельцу кафе, которого вы встретили ранее в этом уроке. Различные апельсиновые напитки, которые он продает, поступают от разных поставщиков и имеют разную норму прибыли. Вы можете отобразить эту дополнительную информацию на точечной диаграмме, отрегулировав размер маркера. Маржа прибыли указана в процентах в этом примере:
импортировать matplotlib.pyplot как plt импортировать numpy как np цена = np.asarray([2,50, 1,23, 4,02, 3,25, 5,00, 4,40]) sales_per_day = np.asarray([34, 62, 49, 22, 13, 19]) profit_margin = np.asarray([20, 35, 40, 20, 27,5, 15]) plt.scatter(x=цена, y=продажи_за_день, s=прибыль_маржа * 10) plt.show()
Вы можете заметить несколько изменений по сравнению с первым примером. Вместо списков теперь вы используете массивы NumPy. Для данных можно использовать любую структуру данных, подобную массиву, и массивы NumPy обычно используются в приложениях такого типа, поскольку они позволяют поэлементных операций , которые выполняются эффективно. Модуль NumPy зависит от Matplotlib, поэтому вам не нужно устанавливать его вручную.
Вы также использовали именованных параметра в качестве входных аргументов в вызове функции. Параметры x
и y
являются обязательными, но все остальные параметры являются необязательными.
Параметр s
обозначает размер маркера. В этом примере вы используете размер прибыли в качестве переменной для определения размера маркера и умножаете его на 9.0015 10 для более четкого отображения разницы в размерах.
Вы можете увидеть точечную диаграмму, созданную этим кодом ниже:
Размер маркера указывает размер прибыли для каждого продукта. Два апельсиновых напитка, которые продаются больше всего, также приносят наибольшую прибыль. Хорошая новость для владельца кафе!
Изменение цвета
Многие посетители кафе любят внимательно читать этикетки, особенно чтобы узнать содержание сахара в напитках, которые они покупают. Владелец кафе хочет подчеркнуть свой выбор здоровых продуктов в своей следующей маркетинговой кампании, поэтому он классифицирует напитки на основе содержания в них сахара и использует систему светофора, чтобы указать низкое, среднее или высокое содержание сахара в напитках.
Вы можете раскрасить маркеры на точечной диаграмме, чтобы показать содержание сахара в каждом напитке:
# ... низкий = (0, 1, 0) средний = (1, 1, 0) высокий = (1, 0, 0) сахар_содержание = [низкий, высокий, средний, средний, высокий, низкий] plt.scatter( х=цена, у=продажи_за_день, с=прибыль_маржа * 10, c=sugar_content, ) plt.show()
Вы определяете переменные low
, medium
и high
как кортежи, каждый из которых содержит три значения, представляющие компоненты красного, зеленого и синего цветов в указанном порядке. Это значения цвета RGB. Кортежи для низкий
, средний
и высокий
представляют зеленый, желтый и красный соответственно.
Затем вы определили переменную «сахар_содержание»
для классификации каждого напитка. Вы используете необязательный параметр c
в вызове функции, чтобы определить цвет каждого маркера. Вот точечная диаграмма, созданная этим кодом:
Владелец кафе уже решил убрать из меню самый дорогой напиток, так как он плохо продается и имеет высокое содержание сахара. Должен ли он также прекратить закупать самые дешевые напитки, чтобы повысить репутацию бизнеса в отношении здоровья, даже несмотря на то, что они хорошо продаются и приносят хорошую прибыль?
Удалить рекламу
Изменение формы
Владелец кафе нашел это упражнение очень полезным и хочет исследовать другой продукт. В дополнение к апельсиновым напиткам вы теперь также нанесете аналогичные данные для ассортимента зерновых батончиков, доступных в кафе:
.импортировать matplotlib.pyplot как plt импортировать numpy как np низкий = (0, 1, 0) средний = (1, 1, 0) высокий = (1, 0, 0) price_orange = np.asarray([2,50, 1,23, 4,02, 3,25, 5,00, 4,40]) sales_per_day_orange = np.asarray([34, 62, 49, 22, 13, 19]) profit_margin_orange = np.asarray([20, 35, 40, 20, 27,5, 15]) Sugar_content_orange = [низкий, высокий, средний, средний, высокий, низкий] price_cereal = np.asarray([1,50, 2,50, 1,15, 1,95]) sales_per_day_cereal = np.asarray([67, 34, 36, 12]) profit_margin_cereal = np.asarray([20, 42,5, 33,3, 18]) сахара_content_cereal = [низкий, высокий, средний, низкий] plt.scatter( х=цена_оранжевый, y=продажи_за_день_оранжевый, s=profit_margin_orange * 10, c=sugar_content_orange, ) plt.scatter( х = цена_зерновых, y=продажи_за_день_зерновых, s=прибыль_прибыль_зерновые * 10, c=сахар_содержание_хлопья, ) plt.show()
В этом коде вы реорганизуете имена переменных, чтобы учесть, что теперь у вас есть данные для двух разных продуктов. Затем вы строите оба графика рассеяния на одном рисунке. Это дает следующий вывод:
К сожалению, вы больше не можете понять, какие точки данных относятся к апельсиновым напиткам, а какие к зерновым батончикам. Вы можете изменить форму маркера для одной из точечных диаграмм:
импортировать matplotlib.pyplot как plt импортировать numpy как np низкий = (0, 1, 0) средний = (1, 1, 0) высокий = (1, 0, 0) price_orange = np.asarray([2,50, 1,23, 4,02, 3,25, 5,00, 4,40]) sales_per_day_orange = np.asarray([34, 62, 49, 22, 13, 19]) profit_margin_orange = np.asarray([20, 35, 40, 20, 27,5, 15]) Sugar_content_orange = [низкий, высокий, средний, средний, высокий, низкий] price_cereal = np.asarray([1,50, 2,50, 1,15, 1,95]) sales_per_day_cereal = np.asarray([67, 34, 36, 12]) profit_margin_cereal = np.asarray([20, 42,5, 33,3, 18]) сахара_content_cereal = [низкий, высокий, средний, низкий] plt.scatter( х=цена_оранжевый, y=продажи_за_день_оранжевый, s=profit_margin_orange * 10, c=sugar_content_orange, ) plt.scatter( х = цена_зерновых, y=продажи_за_день_зерновых, s=прибыль_прибыль_зерновые * 10, c=сахар_содержание_хлопья, маркер = "д", ) plt.show()
Вы сохраняете форму маркера по умолчанию для данных апельсинового напитка. Маркером по умолчанию является
"o"
, что представляет собой точку. Для данных зернового батончика вы устанавливаете форму маркера на "d"
, что представляет собой ромбовидный маркер. Вы можете найти список всех маркеров, которые вы можете использовать на странице документации по маркерам. Вот два графика рассеяния, наложенные на одну и ту же цифру:
Теперь вы можете отличить точки данных для апельсиновых напитков от точек данных для злаковых батончиков. Но есть одна проблема с последним созданным вами графиком, которую вы исследуете в следующем разделе.
Изменение прозрачности
Исчезла одна из точек данных апельсиновых напитков. Оранжевых напитков должно быть шесть, но на рисунке видно только пять круглых маркеров. Одна из точек данных зернового батончика скрывает точку данных апельсинового напитка.
Вы можете решить эту проблему визуализации, сделав точки данных частично прозрачными, используя альфа-значение:
# ... plt.scatter( х=цена_оранжевый, y=продажи_за_день_оранжевый, s=profit_margin_orange * 10, c=sugar_content_orange, альфа=0,5, ) plt.scatter( х = цена_зерновых, y=продажи_за_день_зерновых, s=прибыль_прибыль_зерновые * 10, c=сахар_содержание_хлопья, маркер = "д", альфа=0,5, ) plt.title("Продажи и цены на апельсиновые напитки и зерновые батончики") plt.legend(["Апельсиновые напитки", "Злаковые батончики"]) plt.xlabel("Цена (денежная единица)") plt.ylabel("Средние продажи за неделю") пл.текст( 3.2, 55, "Размер маркера = размер прибыли\n" "Цвет маркера = содержание сахара", ) plt.show()
Вы установили значение alpha
обоих наборов маркеров на 0,5
, что означает, что они полупрозрачны. Теперь вы можете увидеть все точки данных на этом графике, включая совпадающие:
Вы также добавили заголовок и другие метки к графику, чтобы дополнить рисунок дополнительной информацией о том, что отображается.
Настройка цветовой карты и стиля
На созданных вами диаграммах рассеяния вы использовали три цвета для обозначения низкого, среднего или высокого содержания сахара в напитках и зерновых батончиках. Теперь вы измените это, чтобы цвет напрямую отображал фактическое содержание сахара в продуктах.
Сначала вам нужно реорганизовать переменные Sugar_content_orange
и Sugar_content_cereal
, чтобы они представляли значение содержания сахара, а не только значения цвета RGB:
Sugar_content_orange = [15, 35, 22, 27, 38, 14] сахар_содержание_зерна = [21, 49, 29, 24]
Теперь это списки, содержащие процент рекомендуемого ежедневного количества сахара в каждом продукте. Остальной код остается прежним, но теперь вы можете выбрать цветовую карту для использования. Это сопоставляет значения цветам:
# ... plt.scatter( х=цена_оранжевый, y=продажи_за_день_оранжевый, s=profit_margin_orange * 10, c=sugar_content_orange, смап = "струя", альфа=0,5, ) plt.scatter( х = цена_зерновых, y=продажи_за_день_зерновых, s=прибыль_прибыль_зерновые * 10, c=сахар_содержание_хлопья, смап = "струя", маркер = "д", альфа=0,5, ) plt.title("Продажи и цены на апельсиновые напитки и зерновые батончики") plt.legend(["Апельсиновые напитки", "Злаковые батончики"]) plt.xlabel("Цена (денежная единица)") plt.ylabel("Средние продажи за неделю") пл.текст( 2,7, 55, "Размер маркера = размер прибыли\n" "Цвет маркера = содержание сахара", ) plt.colorbar() plt.show()
Цвет маркеров теперь основан на непрерывной шкале, и вы также отобразили цветовую полосу , которая действует как легенда для цвета маркеров. Вот результирующая диаграмма рассеяния:
Все графики, которые вы построили до сих пор, были отображены в собственном стиле Matplotlib. Вы можете изменить этот стиль, используя один из нескольких вариантов. Вы можете отобразить доступные стили с помощью следующей команды:
>>>
>>> пл.стиль.доступно [ "Соляризация_Свет2", "_classic_test_patch", "бмх", "классический", "темный_фон", "быстрый", "пять тридцать восемь", "ггплот", "оттенки серого", "морской", "морской яркий", "морской дальтоник", "морской темный", "морская-темная-палитра", "мореборн-темная сетка", "морская глубина", "морской приглушенный", "морской блокнот", "морская бумага", "морская пастель", "морской постер", "морской разговор", "морские клещи", "бело-морской", "сиборн-белая сетка", "таблица-дальтоник10", ]
Теперь вы можете изменить стиль графика при использовании Matplotlib, используя следующий вызов функции перед вызовом plt.scatter()
:
импортировать matplotlib.pyplot как plt импортировать numpy как np plt.style.use («морской рожденный») # ...
Это меняет стиль на стиль Seaborn, еще одного стороннего пакета визуализации. Вы можете увидеть другой стиль, построив окончательный график рассеяния, показанный выше, с использованием стиля Seaborn:
Вы можете узнать больше о настройке графиков в Matplotlib, а также есть дополнительные руководства на страницах документации Matplotlib.
Использование plt.scatter()
для создания точечных диаграмм позволяет отображать более двух переменных. Вот переменные, представленные в этом примере:
Переменная | Представлен |
---|---|
Цена | Ось X |
Среднее количество проданных | Ось Y |
Маржа прибыли | Размер маркера |
Тип продукта | Форма маркера |
Содержание сахара | Цвет маркера |
Возможность представления более двух переменных делает plt.scatter()
очень мощным и универсальным инструментом.
Удалить рекламу
Изучение
plt.scatter
() Далее plt.scatter()
предлагает еще большую гибкость в настройке точечных диаграмм. В этом разделе вы узнаете, как маскировать данные с помощью массивов NumPy и точечных диаграмм на примере. В этом примере вы сгенерируете случайные точки данных, а затем разделите их на две отдельные области на одном графике рассеяния.
Жительница пригородной зоны, увлекающаяся сбором данных, сопоставила время прибытия автобусов на своей местной автобусной остановке за шестимесячный период. Время прибытия по расписанию составляет 15 минут 45 минут первого часа, но она заметила, что истинное время прибытия следует нормальному распределению вокруг этого времени:
Этот график показывает относительную вероятность прибытия автобуса каждую минуту в течение часа. Это распределение вероятностей может быть представлено с помощью NumPy и np.linspace()
:
импортировать matplotlib.pyplot как plt импортировать numpy как np среднее = 15, 45 сд = 5, 7 x = np.linspace(0, 59, 60) # Представляет каждую минуту в течение часа first_distribution = np.exp(-0,5 * ((x - среднее [0]) / sd[0]) ** 2) second_distribution = 0,9 * np.exp (-0,5 * ((x - среднее [1]) / sd [1]) ** 2) y = первое_распределение + второе_распределение у = у / макс (у) plt.plot(x, y) plt.ylabel("Относительная вероятность прибытия автобуса") plt.xlabel("Минуты после часа") plt.show()
Вы создали два нормальных распределения с центром в 15
и 45
минут после часа и просуммировали их. Вы устанавливаете наиболее вероятное время прибытия в значение 1
путем деления на максимальное значение.
Теперь вы можете смоделировать время прибытия автобуса, используя это распределение. Для этого можно создавать случайные времена и случайные относительные вероятности с помощью встроенного модуля random
. В приведенном ниже коде вы также будете использовать списки:
случайный импорт импортировать matplotlib.pyplot как plt импортировать numpy как np n_автобусов = 40 bus_times = np.asarray([random.randint(0, 59) для _ в диапазоне (n_buses)]) bus_likelihood = np.asarray([random.random() for _ in range(n_buses)]) plt.scatter(x=автобус_время, y=автобус_вероятность) plt.title("Случайно выбранное время прибытия автобуса и относительная вероятность") plt.ylabel("Относительная вероятность прибытия автобуса") plt.xlabel("Минуты после часа") plt.show()
Вы смоделировали 40
прибывающих автобусов, которые можно визуализировать с помощью следующей диаграммы рассеяния:
Ваш график будет выглядеть по-другому, поскольку данные, которые вы генерируете, случайны. Однако не все из этих моментов, вероятно, будут близки к реальности, которую пассажирка наблюдала на основе собранных и проанализированных ею данных. Вы можете построить распределение, которое она получила из данных смоделированных прибытий автобусов:
случайный импорт импортировать matplotlib.pyplot как plt импортировать numpy как np среднее = 15, 45 сд = 5, 7 х = np.linspace (0, 59, 60) first_distribution = np.exp(-0,5 * ((x - среднее [0]) / sd[0]) ** 2) second_distribution = 0,9 * np.exp (-0,5 * ((x - среднее [1]) / sd [1]) ** 2) y = первое_распределение + второе_распределение у = у / макс (у) n_автобусов = 40 bus_times = np.asarray([random.randint(0, 59) for _ in range(n_buses)]) bus_likelihood = np.asarray([random.random() for _ in range(n_buses)]) plt.scatter(x=автобус_время, y=автобус_вероятность) plt.plot(x, y) plt.title("Случайно выбранное время прибытия автобуса и относительная вероятность") plt.ylabel("Относительная вероятность прибытия автобуса") plt.xlabel("Минуты после часа") plt.show()
Это дает следующий вывод:
Чтобы моделирование было реалистичным, необходимо убедиться, что случайные прибытия автобусов соответствуют данным и распределению, полученному из этих данных. Вы можете отфильтровать случайно сгенерированные точки, оставив только те, которые попадают в распределение вероятностей. Вы можете добиться этого, создав маску для точечной диаграммы:
# ... in_region = автобус_вероятность < y[автобус_время] out_region = автобус_вероятность >= y[автобус_время] plt.scatter( x=автобусное_время[в_регионе], y=автобус_вероятность[в_регионе], цвет = "зеленый", ) plt.scatter( x=bus_time[out_region], y=автобус_вероятность[out_region], цвет = "красный", маркер = "х", ) plt.plot(x, y) plt.title("Случайно выбранное время прибытия автобуса и относительная вероятность") plt.ylabel("Относительная вероятность прибытия автобуса") plt.xlabel("Минуты после часа") plt.show()
Переменные in_region
и out_region
представляют собой массивы NumPy, содержащие логические значения в зависимости от того, находятся ли случайно сгенерированные вероятности выше или ниже распределения y
. Затем вы строите два отдельных графика рассеяния, один с точками, попадающими в распределение, а другой — с точками, не входящими в распределение. Точки данных, находящиеся выше распределения, не являются репрезентативными для реальных данных:
Вы сегментировали точки данных из исходной диаграммы рассеяния на основе того, попадают ли они в распределение, и использовали другой цвет и маркер для идентификации двух наборов данных.
Удалить рекламу
Просмотр основных входных параметров
Вы узнали об основных входных параметрах для создания точечных диаграмм в разделах выше. Вот краткое изложение ключевых моментов, которые следует помнить об основных входных параметрах:
Параметр | Описание |
---|---|
х и у | Эти параметры представляют две основные переменные и могут быть любыми типами данных, подобными массивам, например списками или массивами NumPy. Это обязательные параметры. |
с | Этот параметр определяет размер маркера. Это может быть число с плавающей запятой, если все маркеры имеют одинаковый размер, или структура данных, подобная массиву, если маркеры имеют разные размеры. |
с | Этот параметр представляет цвет маркеров. Обычно это либо массив цветов, таких как значения RGB, либо последовательность значений, которые будут отображены на карту цветов с помощью параметра cmap .![]() |
маркер | Этот параметр используется для настройки формы маркера. |
смап | Если для параметра c используется последовательность значений, то этот параметр можно использовать для выбора сопоставления между значениями и цветами, обычно с использованием одной из стандартных карт цветов или пользовательской карты цветов. |
альфа | Этот параметр представляет собой число с плавающей запятой, которое может принимать любое значение от 9 до0015 0 и 1 и представляет прозрачность маркеров, где 1 представляет непрозрачный маркер. |
Это не единственные входные параметры, доступные с plt.scatter()
. Вы можете получить доступ к полному списку входных параметров из документации.
Заключение
Теперь, когда вы знаете, как создавать и настраивать точечные диаграммы с помощью plt.
, вы готовы приступить к практике с собственными наборами данных и примерами. Эта универсальная функция дает вам возможность исследовать ваши данные и представлять результаты в ясной форме. scatter()
В этом уроке вы узнали, как:
- Создайте точечную диаграмму , используя
plt.scatter
() - Использовать обязательные и необязательные входные параметры
- Настройка точечных диаграмм для базовых и более сложных графиков
- Представление более чем двух измерений с
plt.scatter()
Вы можете получить максимальную отдачу от визуализации, используя plt.scatter()
, узнав больше обо всех функциях Matplotlib и работая с данными с помощью NumPy.
Смотреть сейчас Это руководство содержит связанный с ним видеокурс, созданный командой Real Python. Посмотрите его вместе с письменным учебным пособием, чтобы углубить свое понимание: Использование plt. scatter() для визуализации данных в Python
Ключ к ответу Глава 8 — Современная математика
Твой ход
8.1
1.
Ничего из вышеперечисленного (здесь не формируется выборка, опрашивается вся совокупность)
2.
Стратифицированная случайная выборка (страты — разные специальности)
3.
Простая случайная выборка
8.2
1.
Основной | Частота |
---|---|
Биология | 6 |
Образование | 1 |
Политология | 3 |
Социология | 2 |
Затрудняюсь ответить | 4 |
8. 3
1.
Количество проживающих | Частота |
---|---|
1 | 12 |
2 | 13 |
3 | 8 |
4 | 6 |
5 | 1 |
8.4
1.
Возрастной диапазон | Частота |
---|---|
25-29 | 2 |
30-34 | 6 |
35-39 | 2 |
40-44 | 4 |
45-49 | 1 |
50-54 | 2 |
55-59 | 2 |
60-64 | 0 |
65-70 | 1 |
(Ответы могут варьироваться в зависимости от решений о границах бункера)
8,5
1.
Основной | Частота | Доля |
---|---|---|
Биология | 6 | 37,5% |
Образование | 1 | 6,3% |
Политология | 3 | 18,8% |
Социология | 2 | 12,5% |
Затруднились ответить | 4 | 25% |
Обратите внимание, что эти проценты в сумме составляют 100,1% из-за округления.
8,6
1.
8,7
1.
Юго-Восток
2.
Чуть более 10%
3.
Окраины и Скалистые горы.
8,8
1.
8,9
1.
Двадцать четыре
2.
Самые длинные поездки на работу составляют 60, 50 и 36 миль; самые короткие — 4, 6 и 7 миль.
3.
4, 6, 7, 10, 10, 10, 12, 12, 12, 14, 15, 18, 18, 20, 25, 25, 25, 30, 30, 35, 35, 36, 50, 60
8.10
1.
4 | 7 |
5 | 9 7 4 |
6 | 9 8 7 |
7 | 8 7 5 2 2 1 0 |
8 | 9 6 5 4 4 1 |
9 | 7 7 6 3 3 1 |
10 | 7 6 3 1 |
8. 11
1.
8.12
1.
Ответы могут различаться в зависимости от выбора корзины. Вот результат для ячеек шириной 2500:
Данные сильно искажены вправо.
8.13
1.
8.14
1.
Первая десятка команд по победам:
8.15
1.
Есть два режима: 89 и 104, каждый из которых появляется три раза.
8.17
1.
136
8.18
1.
82,5
8.20
1.
12.556
8.21
1.
\фракция {{62}}{{33}} = 1,879
8.22
1.
Режимы: 72, 84, 93, 97
Медиана: 82,5
Среднее значение: 80,967 (округлено до трех знаков после запятой)
8.23
1.
Мода или медиана
2.
Медиана или среднее
3.
Медиана или среднее
8,25
1.
\$74,514 — \$480 = \$74,034
8,26
1.
с = \sqrt {752,5} \приблизительно 27,432
8,27
1.
13 333,77 долл. США.
8,28
2.
70-й процентиль
8,29
1.
1026
2.
1318
3.
82.7
4.
99.2-й
8.30
1.
3 120 долл. США
2.
26 465,20 $
3.
32.3
4.
98.5
8.31
1.
Красное (крайнее левое) распределение имеет среднее значение 11, синее (среднее) — среднее значение 13, а желтое (крайнее правое) — среднее значение 14.
8,33
1.
Среднее значение: 150; стандартное отклонение: 20
8,34
1.
99,7%
2.
95%
3.
68%
8,35
1.
65 и 75
2.
26 и 54
3.
110 и 290
8,36
1.
47,5%
2.
15,85%
3.
81,5%
8,37
1.
−1,8
1,6
−0,6
8,38
1.
–44
30
6
8,39
1.
80-й
9-й
97-й
8.40
1.
3,9
6,3
2,9
8.41
1.
1,29
2.
94.5
3.
161 балл LSAT лучше
8,42
3.
93 рд
8,43
1.
Использование НОРМ.ОБР: 1092.8
Использование ПРОЦЕНТИЛЬ: 1085
8,44
1.
Доход
2.
Либо; ни один из них не оказывает прямого влияния на другого (оба зависят от академических способностей учащегося)
3.
ГПД
8,45
1.
8,46
1.
8,47
1.
\,
- Без изогнутого рисунка
- Сильная отрицательная связь, r\ок — 0,9
2.
\,
- Изогнутая форма
3.
\,
- Без изогнутого рисунка
- Нет очевидной связи, r \ок 0
4.
\,
- Без изогнутого рисунка
- Слабая положительная связь, r \ок 0,6
8,48
1.
- г = — 0,91
- Не подходит
- г = — 0,01
- г = 0,62
8,49
1.
y = 0,75\влево( \frac{20}{5} \right)(x — 100) + 200 = 3x — 100
8.50
1.
у = 1,8х + 16,9
8,51
1.
у = 0,174х + 14,5
2.
26,68
3.
Прогноз: 28; на самом деле: 18. Филлис поймали примерно в 10 раз меньше, чем ожидалось.
4.
Каждые 10 дополнительных попыток кражи приводят к тому, что вас поймают в среднем примерно 1,7 раза.
8,52
1.
y = 0,5481x + 0,1055, где x — доля заброшенных бросков с игры, а y — доля заброшенных трехочковых бросков с игры
2.
0,347
3.
Прогноз: 0,340; факт: 0,368. «Тузы» реализовали примерно на 2,8% больше трехочковых бросков, чем ожидалось.
4.
Увеличение на 1% количества попыток бросков с игры приведет к ожидаемому увеличению на 0,55% количества попыток трехочковых бросков с игры.
Проверьте свое понимание
1.
Используется рандомизация; кластерная случайная выборка.
2.
Рандомизация не используется.
3.
Используется рандомизация; стратифицированная случайная выборка.
4.
Жанр | Частота |
---|---|
Кулинария | 1 |
Документальная литература | 3 |
Романтика | 4 |
Триллер | 3 |
Настоящее преступление | 3 |
Подросток | 6 |
5.
Количество классов | Частота |
---|---|
1 | 1 |
2 | 3 |
3 | 16 |
4 | 8 |
5 | 4 |
6.
Количество абонентов сотовой связи на сто человек | Частота |
---|---|
0,0 – 24,9 | 1 |
25,0 – 49,9 | 3 |
50,0 – 74,9 | 1 |
75,0 – 99,9 | 6 |
100,0 – 124,9 | 7 |
125,0 – 149,9 | 3 |
150,0 – 174,9 | 3 |
175,0 – 199,9 | 1 |
(Примечание: ответы могут различаться в зависимости от выбора мусорных баков. )
7.
8.
9.
12 | 7 |
13 | 0 2 3 6 6 7 8 9 9 |
14 | 1 2 3 3 6 8 8 |
15 | 3 3 5 6 6 6 7 7 8 8 |
16 | 4 7 8 |
10.
11.
(источник данных: https://data.ed.gov/)
12.
(источник данных: https://data.ed.gov/)
(источник данных: https://data.ed.gov/)
13.
Режим: 112
Медиана: 113
Среднее значение: 112,64
16.
\фрак{107}{32} \примерно 3,344
17.
156
18.
147
19.
147,2
20.
Режим: бесполезен; каждое значение появляется только один раз
Медиана: 0,322
Среднее значение: 0,3612
21.
Режим: бесполезен; каждое значение появляется только один раз
Медиана: 42 952 долл. США
Среднее значение: 42924,78 долл. США
22.
Режим: 13 380 долл. США
Медиана: 11 207 долл. США
Среднее значение: 15 476,79 долл. США
23.
Поскольку данные искажены вправо, среднее значение будет больше среднего. Таким образом, рабочие предпочли бы использовать медиану, а руководство предпочло бы среднее значение.
25.
\sqrt {10.5} \приблизительно 3,240
26.
168 — 127 = 41
27.
11.306
28.
Диапазон: 0,6617 — 0,1404 = 0,5213
29.
Стандартное отклонение: 0,170
30.
Диапазон: \$ 43 394 — 42 218 = \$ 1 176
31.
Стандартное отклонение: $398,37
32.
18
33.
14
34.
80
35.
60-й
36.
71,7
37.
101,2
38.
70,25
39.
51,7
40.
79.3-й
41.
13.8
42.
95%
43.
34%
44.
84-й
45.
0,583
46.
71,2
47.
72-й
48.
115,38
49.
27
50.
23,2
51.
1300 на SAT
52.
мк = 60; \sigma = \frac{1}{2}\sqrt {120} \примерно 5,477
53.
96.6
54.
57
55.
ПРОЦЕНТИЛЬ дает 20,86; НОРМ.ОБР дает 21.11.
56.