>  기사  >  백엔드 개발  >  연결 할당 및 loc 함수를 사용하여 조건부 값을 기반으로 Pandas DataFrame의 특정 값을 수정하려면 어떻게 해야 합니까?

연결 할당 및 loc 함수를 사용하여 조건부 값을 기반으로 Pandas DataFrame의 특정 값을 수정하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-26 03:31:02918검색

How can I modify specific values in a Pandas DataFrame based on conditional values using chaining assignment and the loc function?

조건부 값에 따라 데이터를 수정하기 위한 연결 할당 및 Pandas의 Loc 함수

Python의 Pandas 라이브러리에서 데이터 조작 처리는 다음과 같은 문제를 야기할 수 있습니다. 다른 프로그래밍 도구에 익숙한 사람들. 이 문서에서는 조건에 따라 특정 값을 수정하기 위해 Pandas 데이터를 반복하는 것과 관련된 특정 쿼리를 다룹니다.

문제:

당면 작업은 FirstName이라는 두 값을 수정하는 것입니다. 및 ID 열의 일치하는 값을 기반으로 하는 DataFrame 내의 LastName입니다. 특히 ID가 103이면 FirstName과 LastName을 각각 "Matt"와 "Jones"로 바꿔야 합니다.

해결책: 대체 방법

접근 방식 1: Loc과 함께 슬라이싱 및 인덱싱 사용

Pandas에서 조건부 값을 기반으로 데이터를 수정하려면 효과적인 접근 방식 중 하나는 loc 기능을 활용하는 것입니다. 이 기능을 사용하면 논리적 평가가 가능하며 지정된 조건에 따라 데이터를 덮어씁니다.

<code class="python">import pandas
df = pandas.read_csv("test.csv")
df.loc[df.ID == 103, 'FirstName'] = "Matt"
df.loc[df.ID == 103, 'LastName'] = "Jones"</code>

접근 방식 2: 연결 할당

대체 방법은 할당이 포함된 연결 할당입니다. 조건에 따라 DataFrame의 특정 요소에 값을 지정합니다. 이 방법은 잠재적인 불안정성으로 인해 권장되지 않지만 이해에는 여전히 유용합니다.

<code class="python">import pandas
df = pandas.read_csv("test.csv")
df['FirstName'][df.ID == 103] = "Matt"
df['LastName'][df.ID == 103] = "Jones"</code>

위 내용은 연결 할당 및 loc 함수를 사용하여 조건부 값을 기반으로 Pandas DataFrame의 특정 값을 수정하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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