cafe_lst = ["스타벅스", "투썸플레이스", "이디야", "할리스"]
전국의 카페 정보를 담은 df
라는 dataframe의 '상호명' 열에서 cafe_lst
를 contain하는 행만 추출하고 싶다. for문, if문 등 다양한 방법이 있지만 조금 더 간결한 코드를 위해 join을 떠올렸다.
join 함수는 매개변수로 들어온 리스트, 튜플 등에 있는 요소 각각을 합쳐 하나의 문자열로 바꾸어 반환하는 함수이다.
separator.join(iterable)
예제를 보면 더욱 잘 파악할 수 있을 것이다.
''.join(['a','b','c'])
-> 'abc'
'#'.join(['a','b','c'])
-> 'a#b#c'
cafe_lst = ["스타벅스", "투썸플레이스", "이디야", "할리스"]
df[df['상호명'].str.contains('|'.join(cafe_lst))]
따라서 다음과 같이 작성할 수 있다.