"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 조건에 따라 Pandas DataFrame 열의 특정 값을 바꾸는 방법은 무엇입니까?

조건에 따라 Pandas DataFrame 열의 특정 값을 바꾸는 방법은 무엇입니까?

2024-11-06에 게시됨
검색:149

How to Replace Specific Values in a Pandas DataFrame Column Based on Conditions?

Pandas DataFrame: 조건에 따른 대상 값 교체

Pandas에서는 특정 기준에 따라 DataFrame 내의 특정 값을 수정해야 하는 경우가 많습니다. . 일반적인 접근 방식은 loc를 사용하여 행을 선택하는 것이지만 값 수정을 위해 특정 열을 정확하게 대상으로 지정하는 방법을 이해하는 것이 중요합니다.

'첫 번째 시즌'에서 값을 바꾸려는 다음 DataFrame을 고려하세요. 정수 1인 1990을 초과하는 열:

                 Team  First Season  Total Games
0      Dallas Cowboys          1960          894
1       Chicago Bears          1920         1357
2   Green Bay Packers          1921         1339
3      Miami Dolphins          1966          792
4    Baltimore Ravens          1996          326
5  San Franciso 49ers          1950         1003

loc 함수만 사용한 초기 시도에서는 대상 열만 바꾸는 것이 아니라 선택한 행의 모든 ​​값을 바꾸는 결과가 나왔습니다. 이 문제를 해결하려면 'First Season' 열을 loc의 두 번째 인수로 명시적으로 지정해야 합니다:

df.loc[df['First Season'] > 1990, 'First Season'] = 1

이 타겟 접근 방식은 조건을 충족하는 '첫 번째 시즌' 열의 값만 1로 대체되고 다른 열은 영향을 받지 않도록 합니다.

                 Team  First Season  Total Games
0      Dallas Cowboys          1960          894
1       Chicago Bears          1920         1357
2   Green Bay Packers          1921         1339
3      Miami Dolphins          1966          792
4    Baltimore Ravens             1          326
5  San Franciso 49ers          1950         1003

또는 원하는 결과가 부울 표시기인 경우 조건을 사용하여 부울 시리즈를 생성하고 이를 정수로 변환할 수 있습니다. 여기서 True와 False는 각각 1과 0으로 변환됩니다. :

df['First Season'] = (df['First Season'] > 1990).astype(int)

이 접근 방식은 업데이트된 값을 갖는 DataFrame을 생성합니다.

                 Team  First Season  Total Games
0      Dallas Cowboys             0          894
1       Chicago Bears             0         1357
2   Green Bay Packers             0         1339
3      Miami Dolphins             0          792
4    Baltimore Ravens             1          326
5  San Franciso 49ers             0         1003
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3