> 백엔드 개발 > 파이썬 튜토리얼 > 사전 값을 새 Pandas 열에 매핑하는 방법은 무엇입니까?

사전 값을 새 Pandas 열에 매핑하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-10-29 20:35:02
원래의
558명이 탐색했습니다.

How to Map Dictionary Values to a New Pandas Column?

사전 값을 새 Pandas 열에 매핑

Pandas 데이터 프레임을 처리할 때 다음을 기반으로 새 열을 추가해야 하는 경우가 있을 수 있습니다. 기존 열의 매핑된 값에 대해 이를 달성하기 위해 흔히 저지르는 오해는 새 열 할당에서 Equiv 함수를 매개변수로 사용하는 것입니다. 그러나 Equiv는 호출 가능한 함수가 아니기 때문에 오류가 발생합니다.

올바른 접근 방식은 Pandas 지도 함수를 사용하는 것입니다. 사전의 매핑된 값을 기반으로 새 열을 추가하는 구문은 다음과 같습니다.

df["new_column"] = df["existing_column"].map(mapping_function)
로그인 후 복사

mapping_function은 기존 열의 값을 받아들이고 원하는 매핑된 값을 반환하는 함수입니다. 이 경우 매핑 함수는 해당 매핑된 값을 검색하기 위해 사전 Equiv를 활용하는 람다 함수입니다.

mapping_function = lambda x: equiv[x]
로그인 후 복사

이 방법을 활용하면 데이터 프레임 df가 새 열 "B"로 업데이트됩니다. 제공된 사전을 기반으로 "A" 열의 매핑된 값을 포함합니다.

import pandas as pd
equiv = {7001:1, 8001:2, 9001:3}
df = pd.DataFrame({"A": [7001, 8001, 9001]})
df["B"] = df["A"].map(lambda x: equiv[x])

print(df)
로그인 후 복사

출력:

      A   B
0  7001   1
1  8001   2
2  9001   3
로그인 후 복사

이 방법은 키가 사전(아래 예시):

equiv = {7001:1, 8001:2, 9001:3}
df = pd.DataFrame({"A": [7001, 8001, 9001, 10000]})
df["B"] = df["A"].map(lambda x: equiv[x])

print(df)
로그인 후 복사

출력:

       A   B
0   7001   1
1   8001   2
2   9001   3
3  10000 NaN
로그인 후 복사

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

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