> 백엔드 개발 > 파이썬 튜토리얼 > 누락된 값이 있는 Pandas 열을 정수 데이터 유형으로 변환하려면 어떻게 해야 합니까?

누락된 값이 있는 Pandas 열을 정수 데이터 유형으로 변환하려면 어떻게 해야 합니까?

Patricia Arquette
풀어 주다: 2024-11-22 02:35:16
원래의
332명이 탐색했습니다.

How Can I Convert Pandas Columns with Missing Values to Integer Data Types?

누락된 값이 있는 Pandas 열을 정수로 변환

Pandas 데이터 프레임을 처리할 때 특정 열의 데이터 유형을 지정해야 하는 경우가 많습니다. 그러나 열에 누락되거나 빈 값(NaN)이 포함된 경우 이를 'int'와 같은 정수 유형으로 변환하면 문제가 발생할 수 있습니다.

발생한 문제:

문제를 설명하기 위해 NaN이 포함된 'id'라는 열이 있는 CSV 파일에서 Pandas 데이터 프레임을 읽었다고 가정해 보겠습니다. 하지만 'id' 열을 정수형으로 지정해야 합니다.

오류 메시지:

'id' 열을 정수로 직접 변환하려고 할 때 CSV 파일을 읽는 동안 다음 오류가 발생합니다.

df= pd.read_csv("data.csv", dtype={'id': int})
error: Integer column has NA values
로그인 후 복사

또는 CSV를 읽은 후 열 유형을 변환하려고 하면

df= pd.read_csv("data.csv")
df[['id']] = df[['id']].astype(int)
error: Cannot convert NA to integer
로그인 후 복사

해결책:

Pandas 버전 0.24 이상에서는 Nullable Integer 데이터 유형을 사용하여 누락된 값이 있는 정수 데이터를 표현할 수 있습니다. IntegerArray를 사용합니다. 이 기능을 활용하려면:

  1. Pandas에서 IntegerArray 클래스를 가져옵니다.
from pandas.arrays import IntegerArray
로그인 후 복사
  1. 원하는 dtype으로 IntegerArray 객체를 만듭니다. 이 경우 Int64.
arr = pd.array([1, 2, np.nan], dtype=pd.Int64Dtype())
로그인 후 복사
  1. astype()을 사용하여 'id' 열을 IntegerArray로 변환합니다.
df['id'] = df['id'].astype('Int64')
로그인 후 복사

Nullable Integer 데이터 유형을 활용하여, Pandas는 의도한 데이터 유형을 유지하면서 누락된 값이 있는 정수 열을 처리할 수 있습니다.

위 내용은 누락된 값이 있는 Pandas 열을 정수 데이터 유형으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿