1. str.replace( ) 메소드 사용법
파이썬에서 str.replace() 메소드를 사용하는 방법은 다음과 같다.
str.replace('변경할 문자', '변경 후 문자')
str.replace('변경할 문자', '변경 후 문자', 횟수)
2. str.replace( ) 메소드 사용 예시
아래의 pop_seoul 데이터프레임에서 인구수, 내국인, 외국인, 고령자 컬럼의 데이터들을 int 타입으로 바꾸려 한다.
이를 위해 우선 데이터에 있는 콤마 , 를 없애보자.
2-1. srt.replace( )
pop_seoul['인구수'] = pop_seoul['인구수'].str.replace(',', '')
pop_seoul['내국인'] = pop_seoul['내국인'].str.replace(',', '')
pop_seoul['외국인'] = pop_seoul['외국인'].str.replace(',', '')
pop_seoul['고령자'] = pop_seoul['고령자'].str.replace(',', '')
pop_seoul.head()
데이터프레임의 각 컬럼을 불러오고 .str.replace() 메소드를 활용해 콤마를 공백으로 대치시켰다.
이 때 컬럼명 대신 정수형 인덱스 넘버를 사용할 수도 있다.
직관적이고 좋은 코드이지만 반복문을 활용해 조금 간결하게 만들 수 있을 것 같다.
2-2. for문을 활용한 str.replace( )
col_to_replace = ['인구수', '내국인', '외국인', '고령자']
for i in col_to_replace:
pop_seoul2[i] = pop_seoul2[i].str.replace(',', '')
pop_seoul2.head()
대치시킬 컬럼들로 col_to_replace 리스트를 만든 다음 for문을 사용했다.
for문 개념을 다시 짚어보자.
1) for i in 리스트일 때
2) 리스트의 각 요소를
3) for문이 반복하는 동안
4) 0부터 n번째까지(리스트의 길이만큼) i에 차례로 대입시킨다.
따라서 아래의 두 코드는 같은 결과를 반환한다.
# for문 속의 코드
pop_seoul2[i] = pop_seoul2[i].str.replace(',', '')
# 반복되는 과정을 풀어서 쓴 코드
pop_seoul[1] = pop_seoul[1].str.replace(',', '')
pop_seoul[2] = pop_seoul[2].str.replace(',', '')
pop_seoul[3] = pop_seoul[3].str.replace(',', '')
pop_seoul[4] = pop_seoul[4].str.replace(',', '')
for문을 작성하는 건 아직도 헷갈리지만 많이 활용해보려 한다.
'데이터분석 공부 > DSBA 4기' 카테고리의 다른 글
파이썬 데이터프레임 특정 문자 포함된 행 삭제하기 / str.replace() 추천하지 않는 경우 (0) | 2024.03.09 |
---|---|
파이썬 데이터프레임 astype( ) 으로 데이터 자료형 변경하기 (0) | 2024.03.08 |
파이썬 column 명 바꾸기 (1) | 2024.03.07 |
07/03/2024 TIL (0) | 2024.03.07 |
pandas 데이터프레임 loc와 iloc 비교 정리 (0) | 2024.03.06 |