>  기사  >  백엔드 개발  >  조건식을 기반으로 Pandas DataFrame에서 행을 삭제하는 방법은 무엇입니까?

조건식을 기반으로 Pandas DataFrame에서 행을 삭제하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-13 15:23:02570검색

How to Delete Rows from a Pandas DataFrame Based on a Conditional Expression?

조건식을 기반으로 Pandas DataFrame에서 행 제거

df[(len(df['column name']) 사용 접근 방식 < 2)] 문자열 길이가 2를 초과하는 행을 삭제하는 것은 올바르지 않습니다. 표현식이 행 인덱스가 아닌 True 및 False 키가 있는 부울 DataFrame으로 평가되기 때문에 KeyError가 발생합니다.

조건식을 기반으로 행을 삭제하려면 drop 메소드를 활용할 수 있습니다. 작동 방식은 다음과 같습니다.

drop()을 사용하여 행 삭제

df = df.drop(df[df['column name'].str.len() > 2].index)</p>
<p>이 예에서는 df['column name'].str.len() > 2는 문자열 길이가 2보다 큰 행을 나타내는 부울 DataFrame을 생성합니다. 이 DataFrame의 index 속성은 해당 행의 인덱스를 검색한 다음 drop()에 전달됩니다.</p>
<p><strong>대체 구문</strong> </p>
<pre class="brush:php;toolbar:false">df = df.drop(df[(df['column name'].str.len() > 2)].index)

이 구문은 부울 DataFrame과 인덱스를 더 명확하게 구분합니다.

다중 조건

부울 인덱싱을 사용하면 논리 연산자를 사용하여 조건을 결합할 수 있습니다. 예를 들어, 문자열 길이가 2를 초과하고 점수가 50 미만인 행을 제거하려면:

df = df.drop(df[(df['column name'].str.len() > 2) & (df['score'] < 50)].index)

위 내용은 조건식을 기반으로 Pandas DataFrame에서 행을 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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