반응형
출처 : https://stackoverflow.com/questions/17097643/search-for-does-not-contain-on-a-dataframe-in-pandas
Pandas 데이터프레임에서 "포함되지 않은 것" 찾기
저는 몇가지 검색을 수행했지만 df["col"].str.contains(word)
로 데이터프레임을 제외하는 방법을 알 수 없습니다. 하지만, 저는 contains를 반대로 수행할 방법, 즉 데이터프레임의 여집합을 구하는 방법이 있는지 궁금합니다. 예: !(df["col"].str.contains(word))
의 효과
DataFrame
방법을 통해 할 수 있는 방법이 있을까요?
6개의 답변
(불리언 데이터에서 not처럼 실행하는) 반전(invert, ~) 연산자를 사용할 수 있습니다.
new_df = df[~df["col"].str.contains(word)]
new_df
는 RHS에 의해 복사되는 곳입니다.
contains는 정규 표현식도 받아 들입니다.
만약 위에서 ValueError가 발생하면 그 이유는 여러 타입이 섞인 데이터 타입이라 그렇고 na=False
를 사용합니다.
new_df = df[~df["col"].str.contains(word, na=False)]
또는
new_df = df[df["col"].str.contains(word) == False]
를 사용합니다.
반응형
'Python' 카테고리의 다른 글
파이썬으로 unpacking : 병렬 대입을 넘어서 (0) | 2021.03.21 |
---|---|
Python을 사용하여 원격 SSH 서버에서 파일 존재 확인 (0) | 2021.01.26 |
Python으로 Redshift의 create table이 작동하지 않습니다. (0) | 2020.11.08 |
10분 코알라 (0) | 2020.10.28 |
Python에서 UDP 멀티캐스트 하는 방법? (0) | 2020.10.13 |