서울 아파트 매매가를 예측하기 위해서 감성사전을 구축하려고 부동산 관련 영상의 유튜브 댓글을 크롤링했는데 유튜브 검색 내용에 주제와 관련 없는 영상들이 종종 들어가 있어서 특정 문자를 포함하지 않은 제목들을 지워주기 위해 찾아본 방법이다.
drop_index = df[df['column_name'].str.contains('str')].index
이렇게 작성하면 str
이라는 문자를 포함한 행들의 인덱스가 주르르륵 나온다!
new_df = df.drop(drop_index, axis=0)
이렇게 해주면 해당 인덱스들을 다 지워줄 수 있다.
반대로 특정문자를 포함하지 않은 행들을 지우고 싶다면
drop_index = df[df['column_name'].str.contains('str')==False].index
이렇게 해주거나
drop_index = df[df['column_name'].str.contains('str')].index
new_df = df[~drop_index]
~(not) 연산자를 사용해서 반대로 떨궈줄 수 있다. 하지만 난 False를 쓰는 것이 더 직관적이라서 좋다😁
drop_index = comments_df[comments_df['title'].str.contains('서울|집|아파트|가격|값|부동산')==False].index
이런식으로 |(or) 연산자를 이용하면 된다.
제목에 서울, 집, 아파트, 가격, 값, 부동산
이라는 문자열만 들어가도록 필터링을 해줬다👍
근데 데이터 양이 반도 아니고 1/3로 줄었기 때문에 크롤링을 더 하던가 다른 방법을 모색해야할 것 같다 🥲