Построение графиков с замаскированными и NaN значениями

PythonPythonBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В визуализации данных часто возникает проблема отображения пропущенных значений. В этом руководстве мы научимся отображать данные с пропусками с использованием Matplotlib. Мы рассмотрим три метода: удаление нежелательных точек данных, скрытие точек и установка значений в NaN.

Советы по работе с ВМ

После запуска виртуальной машины нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Импортируем необходимые библиотеки

Нам нужно импортировать библиотеки, которые мы будем использовать в этом руководстве. Будем использовать Matplotlib и NumPy.

import matplotlib.pyplot as plt
import numpy as np

Создаем данные для построения графика

Мы создадим данные для построения с использованием NumPy. Мы сгенерируем 31 точку данных между -pi/2 и pi/2 и вычислим косинус этих значений, возведенных в степень 3.

x = np.linspace(-np.pi/2, np.pi/2, 31)
y = np.cos(x)**3

Удаляем точки

Мы удалим точки, где y > 0,7. Создадим новый массив x и массив y, содержащие только оставшиеся точки.

x2 = x[y <= 0.7]
y2 = y[y <= 0.7]

Маскируем точки

Мы маскируем точки, где y > 0,7, с использованием замаскированного массива. Создадим новый массив y с замаскированными значениями.

y3 = np.ma.masked_where(y > 0.7, y)

Устанавливаем значения в NaN

Мы установим значения в NaN там, где y > 0,7. Создадим новый массив y с значениями NaN.

y4 = y.copy()
y4[y3 > 0.7] = np.nan

Строим график для данных

Мы построим все четыре набора данных, используя разные маркеры и цвета, чтобы различать их.

plt.plot(x*0.1, y, 'o-', color='lightgrey', label='No mask')
plt.plot(x2*0.4, y2, 'o-', label='Points removed')
plt.plot(x*0.7, y3, 'o-', label='Masked values')
plt.plot(x*1.0, y4, 'o-', label='NaN values')
plt.legend()
plt.title('Masked and NaN data')
plt.show()

Интерпретируем график

В результирующем графике будут четыре линии разных цветов и маркеров. Первая линия (светло-серый) представляет исходные данные без маскировки. Вторая линия (оранжевый) представляет данные с удаленными нежелательными точками. Третья линия (зеленый) представляет данные с замаскированными значениями. Четвертая линия (синий) представляет данные с значениями NaN. Этот график показывает, как можно визуализировать отсутствующие данные с использованием разных методов.

Резюме

В этом уроке мы узнали, как построить график для данных с пропущенными значениями с использованием Matplotlib. Мы изучили три метода: удаление нежелательных точек данных, маскирование точек и установка значений в NaN. Мы создали данные для построения с использованием NumPy и использовали разные маркеры и цвета, чтобы различать наборы данных. Мы также интерпретировали результирующий график, чтобы понять разные методы визуализации отсутствующих данных.