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