Python

[파이썬] 내장함수 str - 슬라이싱, find, contains, strip

weweGH 2025. 3. 21. 09:00
반응형

문자열 내장함수 str
문자열 내장함수 str


내장함수 str - 슬라이싱, find, contains, strip


  • 파이썬 내장함수 str
  • 넷플릭스 데이터 소개
  • str 슬라이싱
  • str.find()
  • str.contains()
  • str.strip()

파이썬 내장함수 str


파이썬의 내장함수인 str은 문자열을 처리하는 데 매우 편리합니다. 문자열 인덱싱, 문자열 포함 여부, 문자열 분리 등 빠른 속도로 문자열을 처리할 수 있습니다.

이 글에서 활용할 데이터는 캐글 데이터셋 중 Netflix Movies and TV Shows로 넷플릭스의 영화와 TV쇼에 관한 자료입니다.


str 슬라이싱


문자열을 원하는 길이만큼 슬라이싱할 때 사용합니다.


description 변수가 너무 길어서 일부만 나타내고 싶다면 다음과 같습니다.

netflix['description_rev'] = netflix['description'].str[:20]
netflix[['description_rev','description']].head()

str slicing
str slicing


str.find()


str.find는 문자열을 탐색하는 메서드입니다. 찾고자 하는 단어나 문장을 넣으면, 위치를 반환합니다. -1은 찾는 단어가 없음을 의미합니다.


description 변수에서 'father'이 포함된 행을 찾는다면, 결과는 우측 이미지와 같습니다. 첫 번째 행에서 'fathers'는 7번째에 위치하고 있습니다. 좌측 이미지는 father가 시작되는 위치입니다. -1은 'father가 없음'을 의미합니다.

netflix.description.str.find('father').head()

fathers 위치str find father
str find father


야구와 관련된 영화나 TV show를 찾고 싶다면, description 변수에서 -1을 반환하는 행을 필터링합니다.

netflix[netflix.description.str.find('baseball') != -1][['title','description']].head()

str find baseball
str find baseball

반응형

str.contains()


str.contains는 문자열의 포함여부를 탐색하는 메서드입니다. 위의 find와 비교해서 찾는 점은 비슷하지만, contains는 포함 여부만 True/False로 나타냅니다.


cast 변수에서 Lee Jung-jae를 찾는다면 다음과 같습니다. NA가 포함된 열의 경우, na=False 옵션을 추가합니다.

netflix[netflix.cast.str.contains('Lee Jung-jae',na=False)].head()

str contains
str contains


검색 결과에서 첫 번째 행의 cast 변수입니다. 오징어 게임의 배우들이네요.

print(netflix[netflix.cast.str.contains('Lee Jung-jae',na=False)].title.values[0])
netflix[netflix.cast.str.contains('Lee Jung-jae',na=False)].cast.values[0]

str contains cast
str contains cast


str.strip()


str.strip은 문자열을 제거하는 함수입니다. 공백 제거도 가능합니다.


show_id 변수에서 's'를 제거한다면,

netflix['show_id_rev'] = netflix['show_id'].str.strip('s')
netflix[['show_id_rev','show_id']].head()

str strip
str strip


공백도 제거할 수 있습니다. 괄호 안에 아무것도 쓰지 않으면, 공백 제거를 의미합니다.

netflix['duration'] = netflix['duration'] + ' ' # duration 변수에 강제 공백 추가
netflix['duration_rev'] = netflix['duration'].str.strip()
print('공백 제거 전: ',netflix.duration_rev.unique()[0:5])
print('='*100)
print('공백 제거 후: ',netflix.duration.unique()[0:5])

str strip
str strip


 

반응형