소개
이 랩에서는 데이터 분석에서 흔히 발생하는 문제인 pandas 에서 결측 데이터를 처리하는 방법을 배웁니다. 결측 데이터를 식별하고, 결측값을 채우고, 필요 없는 데이터를 삭제하는 방법을 다룰 것입니다. 또한 결측값을 나타내는 데 사용할 수 있는 pandas 의 실험적인 NA 스칼라에 대해서도 논의할 것입니다.
VM 팁
VM 시작이 완료되면 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.
학습 중에 문제가 발생하면 Labby 에게 문의하십시오. 세션 후에 피드백을 제공해주시면 문제를 즉시 해결해 드리겠습니다.
필요한 라이브러리 가져오기 및 DataFrame 생성
시작하려면 pandas 와 NumPy 와 같은 필요한 라이브러리를 가져와야 합니다. 그런 다음, 몇 가지 결측값이 있는 DataFrame 을 생성합니다.
import pandas as pd
import numpy as np
## Create a DataFrame with missing values
df = pd.DataFrame(
np.random.randn(5, 3),
index=["a", "c", "e", "f", "h"],
columns=["one", "two", "three"],
)
df["four"] = "bar"
df["five"] = df["one"] > 0
df2 = df.reindex(["a", "b", "c", "d", "e", "f", "g", "h"])
결측값 감지
다음으로, isna 및 notna 함수를 사용하여 결측값을 감지합니다.
## Use isna and notna to detect missing values
pd.isna(df2["one"])
df2["four"].notna()
df2.isna()
결측 데이터 삽입
여기서는 데이터에 결측값을 삽입하는 방법을 살펴보겠습니다.
## Insert missing values
s = pd.Series([1., 2., 3.])
s.loc[0] = None
결측 데이터를 사용한 계산 수행
결측 데이터를 사용하여 기본적인 산술 및 통계 계산을 수행합니다.
## Perform calculations with missing data
df["one"].sum()
df.mean(axis=1, numeric_only=True)
df.cumsum()
결측 데이터가 있는 축 레이블 삭제
dropna를 사용하여 결측 데이터가 있는 레이블을 제외하는 방법을 배우겠습니다.
df.dropna(axis=0)
df.dropna(axis=1)
df["one"].dropna()
결측값 보간
interpolate 함수를 사용하여 DataFrame 의 결측값을 채웁니다.
df = pd.DataFrame(
{
"A": [1, 2.1, np.nan, 4.7, 5.6, 6.8],
"B": [0.25, np.nan, np.nan, 4, 12.2, 14.4],
}
)
df.interpolate()
일반 값 대체
replace를 사용하여 임의의 값을 다른 값으로 대체하는 방법을 배우겠습니다.
ser = pd.Series([0.0, 1.0, 2.0, 3.0, 4.0])
ser.replace(0, 5)
결측값을 나타내는 NA 스칼라 이해
마지막으로, 결측값을 나타내는 데 사용할 수 있는 pandas 의 실험적인 NA 스칼라에 대해 논의하겠습니다.
s = pd.Series([1, 2, None], dtype="Int64")
s
요약
이 랩에서는 pandas 를 사용하여 결측 데이터를 처리하는 방법을 배웠습니다. 결측 데이터를 감지하고, 삽입하고, 계산하고, 삭제하는 방법을 다루었습니다. 또한 결측값을 보간하고 대체하는 방법도 배웠습니다. 마지막으로, 결측값을 나타내기 위한 pandas 의 실험적인 NA 스칼라에 대해 논의했습니다. 이 지식은 실제 데이터 분석 작업에서 결측 데이터가 흔히 발생하는 문제이므로 매우 유용할 것입니다.