>  기사  >  백엔드 개발  >  Pandas DataFrame에 매핑된 열을 효율적으로 추가하는 방법은 무엇입니까?

Pandas DataFrame에 매핑된 열을 효율적으로 추가하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-29 02:27:29208검색

How to Efficiently Add a Mapped Column to a Pandas DataFrame?

Pandas DataFrame에 매핑된 열 추가

Pandas로 작업할 때 기존 열을 기반으로 매핑된 값이 있는 새 열 추가 간단한 작업이 될 수 있습니다. 그러나 특정 접근 방식에서는 오류나 어려움이 발생할 수 있습니다.

일반적인 시도 중 하나는 매핑된 값을 새 열에 직접 할당하는 것입니다.

<code class="python">df["B"] = equiv(df["A"])</code>

그러나 이는 동등하게 실패합니다. 사전은 호출 가능한 함수가 아닙니다.

원하는 결과를 얻지 못할 수 있는 또 다른 접근 방식은 람다 함수와 함께 map을 사용하는 것입니다.

<code class="python">df["B"] = df["A"].map(lambda x: equiv[x])</code>

이 표현식은 사전 키가 열 값과 정확하게 일치합니다.

올바른 해결책

매핑된 열을 추가하는 올바른 방법은 사전과 함께 map을 직접 사용하는 것입니다.

<code class="python">df["B"] = df["A"].map(equiv)</code>

이 접근 방식은 Equiv 사전의 매핑된 값을 사용하여 새 열 B를 생성합니다. 키가 사전에 없으면 해당 행에 NaN이 할당됩니다.

다음 DataFrame을 고려하세요.

<code class="python">df = pd.DataFrame({"A": [7001, 8001, 9001]})
equiv = {7001: 1, 8001: 2, 9001: 3}</code>

올바른 매핑을 적용하면 원하는 결과를 얻을 수 있습니다.

<code class="python">df["B"] = df["A"].map(equiv)

print(df)

      A  B
0  7001  1
1  8001  2
2  9001  3</code>

위 내용은 Pandas DataFrame에 매핑된 열을 효율적으로 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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