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
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
Windows에 pip를 설치하는 방법 (0) | 2021.08.23 |
---|---|
Python 변수가 함수인지 확인하는 방법 (0) | 2021.08.23 |
Python 3.x에서 목록을 반환할 map() 가져오기 (0) | 2021.08.20 |
Python에서 날짜를 datetime으로 변환 (0) | 2021.08.20 |
로컬에 설치된 Python 모듈 리스트를 얻는 방법 (0) | 2021.08.13 |