Python

[파이썬] 내장함수 str - len, split, replace

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

내장함수 str
내장함수 str


내장함수 str - len, split, replace


[파이썬] 내장함수 str - 슬라이싱, find, contains, strip에 이어서 작성합니다.

  • str.len()
  • str.split()
  • str.replace()

str.len()


str.len은 문자열의 길이를 반환합니다. 가장 긴/짧은 문자열을 확인할 때 유용합니다.


title 변수의 길이를 확인하는 title_len 변수 생성을 한다면 다음과 같습니다.

netflix['title_len'] = netflix['title'].str.len()
netflix[['title','title_len']].head()

str len
str len


title 변수에서 길이가 가장 긴 제목을 찾는다면, 결과는 다음과 같습니다. 넷플릭스 데이터에서 가장 긴 제목은 Chris Smith 감독의 'Jim & Andy: The Great Beyond - Featuring a Very Special, Contractually Obligated Mention of Tony Clifton'입니다.

len_max = netflix.title.str.len().max()
print('longest title: ',len_max)
print(netflix[netflix.title.str.len() == len_max].title.values[0])

str longest title
str longest title

반응형

str.split()


str.split은 문자열 분리 메서드입니다. 특정 문자를 기준으로 컬럼을 분리할 수 있습니다.


date_added 변수가 연월일 변수이므로 yyyy 변수와 mmdd 변수를 생성하기 위해 date_added 변수에서 ','를 기준으로 분리하면,

netflix['mmdd'] = netflix.date_added.str.split(',').str[0]
netflix['yyyy'] = netflix.date_added.str.split(',').str[1] 
netflix[['show_id','date_added','mmdd','yyyy']].head()

str split mmdd, yyyy
str split mmdd,yyyy


위에서 생성한 mmdd 컬럼이 month와 date가 붙어있으므로 공백을 기준으로 분리하면 다음과 같습니다.

netflix['mm'] = netflix.mmdd.str.split(' ').str[0]
netflix['dd'] = netflix.mmdd.str.split(' ').str[1]
netflix[['show_id','mmdd','mm','dd']].head()

str split mm, dd
str split mm,dd


str.replace()

str.replace는 문자열을 대체하는 메서드입니다. 특정 문자를 대체하고 싶을 때 사용합니다.


type 변수는 'Movie', 'TV Show'로 이루어져 있습니다. 이 변수를 한국어로 변경하여 type_kor 변수를 생성하면 다음과 같습니다.

str replace
str replace


전체 코드


내장함수 str - kaggle 넷플릭스 데이터 활용 #1, #2의 전체 코드입니다.

netflix = pd.read_csv('netflix_titles.csv')
display(netflix.head())

### str 슬라이싱
netflix['description_rev'] = netflix['description'].str[:20]

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

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

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

### str strip
netflix['show_id_rev'] = netflix.show_id.str.strip('s')
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 len
netflix['title_len'] = netflix['title'].str.len()

len_max = netflix.title.str.len().max()
print('longest title: ',len_max)
netflix[netflix.title.str.len() == len_max].title.values[0]

### str split
netflix['mmdd'] = netflix.date_added.str.split(',').str[0]
netflix['yyyy'] = netflix.date_added.str.split(',').str[1]
netflix[['show_id','date_added','mmdd','yyyy']].head()

netflix['mm'] = netflix.mmdd.str.split(' ').str[0]
netflix['dd'] = netflix.mmdd.str.split(' ').str[1]

### str replace
netflix['type_kor'] = netflix['type']
netflix['type_kor'] = netflix.type_kor.str.replace('Movie','영화')
netflix['type_kor'] = netflix.type_kor.str.replace('TV Show','티비프로그램')

반응형