> 백엔드 개발 > 파이썬 튜토리얼 > NaN 값을 유지하면서 사전을 사용하여 Pandas 열 값을 다시 매핑하는 방법은 무엇입니까?

NaN 값을 유지하면서 사전을 사용하여 Pandas 열 값을 다시 매핑하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-22 11:08:38
원래의
881명이 탐색했습니다.

How to Remap Pandas Column Values Using a Dictionary While Keeping NaN Values?

NaN을 보존하면서 사전을 사용하여 Pandas 열의 값 다시 매핑

데이터 프레임을 처리하는 과정에서 데이터 프레임의 값을 변경해야 하는 경우가 종종 있습니다. 정의된 매핑을 기반으로 하는 특정 열입니다. di = {1: "A", 2: "B"}와 같이 사전 정의된 값 변환이 포함된 사전이 있고 이러한 매핑을 col1이라는 pandas 열에 적용하려는 시나리오를 생각해 보세요. 목표는 NaN 값은 그대로 유지하면서 그에 따라 col1의 값을 수정하는 것입니다.

이러한 변환을 달성하는 매우 효과적인 접근 방식 중 하나는 pandas의 .replace 메서드를 활용하는 것입니다. 이 방법을 사용하면 특정 값이나 범위를 지정된 목표 값으로 바꿀 수 있습니다. 구현 방법은 다음과 같습니다.

import pandas as pd
import numpy as np

# Example DataFrame
df = pd.DataFrame({'col2': {0: 'a', 1: 2, 2: np.nan}, 'col1': {0: 'w', 1: 1, 2: 2}})

# Mapping dictionary
di = {1: "A", 2: "B"}

# Apply value remapping using .replace
df.replace({"col1": di}, inplace=True)

# Output DataFrame with remapped values while preserving NaN
print(df)
로그인 후 복사

이 예에서 .replace 메소드는 사전을 인수로 사용합니다. 여기서 키는 col1의 원래 값을 나타내고 값은 원하는 다시 매핑된 값을 나타냅니다. inplace 매개변수를 True로 설정하면 원본 데이터프레임이 직접 수정되어 재할당이 필요하지 않습니다.

또는 변환을 col1 시리즈에 구체적으로 적용하려는 경우 다음 구문을 사용할 수 있습니다.

df["col1"].replace(di, inplace=True)
로그인 후 복사

NaN은 매핑 사전의 키가 아니기 때문에 이 접근 방식을 사용하면 NaN 값이 영향을 받지 않게 됩니다.

위 내용은 NaN 값을 유지하면서 사전을 사용하여 Pandas 열 값을 다시 매핑하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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