마스크 및 NaN 값 플로팅

Beginner

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

소개

데이터 시각화에서, 플롯해야 할 누락된 데이터를 만나는 것은 흔한 일입니다. 이 튜토리얼에서는 Matplotlib 을 사용하여 누락된 값을 가진 데이터를 플롯하는 방법을 배웁니다. 세 가지 방법을 살펴볼 것입니다: 원치 않는 데이터 포인트 제거, 포인트 마스킹, 그리고 값을 NaN 으로 설정하기.

VM 팁

VM 시작이 완료되면, 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접근하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수도 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중에 문제가 발생하면 Labby 에게 자유롭게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.

필요한 라이브러리 가져오기

이 튜토리얼에서 사용할 라이브러리를 가져와야 합니다. Matplotlib 과 NumPy 를 사용할 것입니다.

import matplotlib.pyplot as plt
import numpy as np

플롯을 위한 데이터 생성

NumPy 를 사용하여 플롯할 데이터를 생성합니다. -pi/2와 pi/2 사이의 31 개의 데이터 포인트를 생성하고, 이 값들의 코사인을 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 으로 설정

y > 0.7 인 경우 NaN 으로 설정합니다. NaN 값을 가진 새로운 y 배열을 생성합니다.

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 를 사용하여 플롯할 데이터를 생성하고, 서로 다른 마커와 색상을 사용하여 데이터 세트를 구별했습니다. 또한 누락된 데이터를 시각화하는 다양한 방법을 이해하기 위해 결과 플롯을 해석했습니다.