Pandas에서 nan 값 없이 행을 선택하는 방법
다음 방법을 사용하여 팬더에서 NaN 값이 없는 행을 선택할 수 있습니다.
방법 1: 모든 열에서 NaN 값이 없는 행 선택
df[~df. isnull (). any (axis= 1 )]
방법 2: 특정 열에서 NaN 값이 없는 행 선택
df[~df[' this_column ']. isna ()]
다음 예에서는 다음 pandas DataFrame에서 실제로 각 메서드를 사용하는 방법을 보여줍니다.
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G'], ' points ': [np.nan, 12, 15, 25, np.nan, 22, 30], ' assists ': [4, np.nan, 5, 9, 12, 14, 10]}) #view DataFrame print (df) team points assists 0 A NaN 4.0 1 B 12.0 NaN 2C 15.0 5.0 3D 25.0 9.0 4 E NaN 12.0 5F 22.0 14.0 6G 30.0 10.0
예시 1: 모든 열에서 NaN 값이 없는 행 선택
다음 구문을 사용하여 DataFrame의 각 열에서 NaN 값이 없는 행을 선택할 수 있습니다.
#create new DataFrame that only contains rows without NaNs no_nans = df[~df. isnull (). any (axis= 1 )] #view results print (no_nans) team points assists 2C 15.0 5.0 3D 25.0 9.0 5F 22.0 14.0 6G 30.0 10.0
결과 DataFrame의 각 행에는 어떤 열에도 NaN 값이 포함되어 있지 않습니다.
예시 2: 특정 열에서 NaN 값이 없는 행 선택
다음 구문을 사용하여 DataFrame의 포인트 열에서 NaN 값이 없는 행을 선택할 수 있습니다.
#create new DataFrame that only contains rows without NaNs in points column no_points_nans = df[~df[' points ']. isna ()] #view results print (no_points_nans) team points assists 1 B 12.0 NaN 2C 15.0 5.0 3D 25.0 9.0 5F 22.0 14.0 6G 30.0 10.0
결과 DataFrame의 각 행에는 포인트 열에 NaN 값이 포함되어 있지 않습니다.
Assists 열에 NaN 값이 있는 행이 있지만 해당 행의 Points 열 값이 NaN이 아니기 때문에 행이 DataFrame에 유지됩니다.
추가 리소스
다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
Pandas: NaN 값이 있는 행을 삭제하는 방법
Pandas: NaN 값을 문자열로 바꾸는 방법
Pandas: NaN 값을 평균으로 채우는 방법