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

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

Linda Hamilton
Linda Hamilton원래의
2024-10-29 20:35:02617검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.