프로그래밍 언어/Python

조건식을 기반으로 pandas DataFrame에서 행을 삭제하는 방법

Rateye 2021. 8. 20. 10:38
728x90
반응형
질문 : 조건식을 기반으로 pandas DataFrame에서 행을 삭제하는 방법

pandas DataFrame이 있고 특정 열의 문자열 길이가 2보다 큰 행을 삭제하고 싶습니다.

나는 이것을 할 수 있기를 기대합니다 ( 이 답변에 따라 ) :

df[(len(df['column name']) < 2)]

하지만 오류가 발생합니다.

KeyError: u'no item named False'

내가 도대체 뭘 잘못하고있는 겁니까?

df.dropna() NaN 이 포함 된 행을 제거 할 수 있다는 것을 알고 있지만 조건식을 기반으로 행을 제거하는 방법을 보지 못했습니다.)

답변

len(df['column name']) 하면 하나의 숫자, 즉 DataFrame의 행 수 (즉, 열 자체의 길이)를 얻게됩니다. 열의 각 요소에 len 을 적용 df['column name'].map(len) . 그래서 시도

df[df['column name'].map(len) < 2]
출처 : https://stackoverflow.com/questions/13851535/how-to-delete-rows-from-a-pandas-dataframe-based-on-a-conditional-expression
728x90
반응형