Введение
В визуализации данных часто возникает проблема отображения пропущенных значений. В этом руководстве мы научимся отображать данные с пропусками с использованием 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 и использовали разные маркеры и цвета, чтобы различать наборы данных. Мы также интерпретировали результирующий график, чтобы понять разные методы визуализации отсутствующих данных.