Pandas DataFrames에서 행의 조건부 삭제
원래 질문은 특정 열의 문자열 길이를 기반으로 DataFrame에서 행을 제거하려고 했습니다. . 제안된 솔루션이 잘못되었지만 이 글은 Pandas의 조건부 행 삭제에 대한 포괄적인 이해를 제공하는 것을 목표로 합니다.
드롭 방법 사용
제목의 질문에 직접 해결하려면 에서 drop 메소드는 조건식을 기반으로 행을 제거하는 간단한 접근 방식을 제공합니다. 구문은 다음과 같습니다.
df = df.drop(some labels) df = df.drop(df[<some boolean condition>].index)
예
점수 열 값이 50보다 작은 모든 행을 제거하려면:
df = df.drop(df[df.score < 50].index)
내부 수정의 경우 다음을 사용할 수 있습니다.
df.drop(df[df.score < 50].index, inplace=True)
다중 조건
Pandas는 논리 연산자(OR의 경우 |, AND의 경우 &) 사용을 지원합니다. , ~(NOT의 경우))를 사용하여 복잡한 조건을 생성합니다. 괄호로 묶어야 합니다.
점수가 50보다 작고 20보다 큰 모든 행을 제거하려면:
df = df.drop(df[(df.score < 50) & (df.score > 20)].index)
위 내용은 조건에 따라 Pandas DataFrame에서 행을 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!