Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Pandas - dropna()로 NaN 값이 없는 인덱스 반환하기

Pandas에서 NaN 값이 없는 인덱스 반환하기

Pandas에서 NaN(결측치) 값이 포함되지 않은 인덱스를 반환하려면 index.dropna() 메서드를 사용하면 됩니다. 이 메서드는 인덱스 객체에서 모든 결측치를 제거한 새로운 인덱스를 생성합니다.

먼저 필요한 라이브러리를 임포트합니다.

import pandas as pd
import numpy as np

NaN 값을 일부 포함하는 Pandas 인덱스를 생성합니다.

index = pd.Index([50, 10, 70, np.nan, 90, 50, np.nan, np.nan, 30])

생성된 Pandas 인덱스를 화면에 출력해 확인합니다.

print("Pandas Index...\n", index)

dropna() 메서드를 호출하여 NaN 값만 제거합니다.

print("\nNaN 값 제거 후 인덱스 객체...\n", index.dropna())

전체 예제 코드

다음은 지금까지 설명한 내용을 모두 포함한 전체 코드입니다.

import pandas as pd
import numpy as np

# NaN 값을 일부 포함하는 Pandas 인덱스 생성
index = pd.Index([50, 10, 70, np.nan, 90, 50, np.nan, np.nan, 30])

# Pandas 인덱스 출력
print("Pandas Index...\n", index)

# 인덱스의 요소 개수 반환
print("\n인덱스의 요소 개수...\n", index.size)

# 데이터의 dtype 반환
print("\ndtype 객체...\n", index.dtype)

# NaN 값만 제거
print("\nNaN 값 제거 후 인덱스 객체...\n", index.dropna())

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Pandas Index...
Float64Index([50.0, 10.0, 70.0, nan, 90.0, 50.0, nan, nan, 30.0], dtype='float64')

Number of elements in the index...
9

The dtype object...
float64

The Index object after removing NaN values...
Float64Index([50.0, 10.0, 70.0, 90.0, 50.0, 30.0], dtype='float64')

결과 해설

원본 인덱스는 총 9개의 요소를 가지며, dtype은 float64입니다. NaN 값이 섞여 있기 때문에 정수 리스트임에도 불구하고 자동으로 float 타입으로 변환됩니다.

dropna() 메서드를 적용한 후에는 3개의 NaN 값이 모두 제거되어 6개의 유효한 요소만 남은 새로운 인덱스가 반환됩니다. 참고로 원본 인덱스는 변경되지 않고, 결측치가 제거된 새로운 인덱스 객체가 생성됩니다.