부제: df['column'] = df['column'].str.replace(org_value, replace_value)
안녕하세요, 아과입니다.
오늘은 데이터 프레임(Dataframe)에서 특정 값이 포함된 값을 바꾸는 방법에 대해서 알아보겠습니다.
오늘의 글은 다음순서로 진행됩니다.
- example.xls 읽어오기
- 특정 문자열 바꾸기(정확히 일치): df['column'] = df['column'].replace(org_value, replace_value)
- 특정 문자열 바꾸기(포함 일치) : df['column'] = df['column'].str.replace(org_value, replace_value)
예제파일은 다음과 같습니다.
이전에 dataframe에서 특정값 바꾸는 작업을 진행했었습니다.
파이썬(python) / Pandas Dataframe에서 특정 값 바꾸기 / Null 처리(df.replace) / DB에 NULL 입력 - 아과노트
부제: df.replace("-", np.NAN, inplace=True) 안녕하세요, 아과입니다. 오늘은 데이터 프레임(Dataframe)에서 특정 값을 바꾸거나 Null 처리하는 방법을 알아보도록 하겠습니다. 오늘의 글은 다음순서로 진행
alphalok.tistory.com
오늘은 Dataframe에서 특정 칼럼의 값을 일괄 변환해야 할 때 쓰는 함수를 알아보도록 하겠습니다.
1. example.xls 읽어오기
이번에도 엑셀파일 읽어오기부터 시작하겠습니다.
import pandas as pd
df = pd.read_excel("example.xlsx", engine='openpyxl')
print(df)
example.xlsx파일의 값들을 데이터 프레임(dataframe)인 df로 담아왔습니다.
여기서 오늘은 특정 컬럼의 값을 변경하는 부분을 알아보겠습니다.
2. 특정 컬럼의 특정 값 바꾸기(정확히 일치) : df['column'] = df['column'].replace(org_value, replace_value)
일단 컬럼의 특정값을 변경하는 것은 아래와 같습니다.
df['column'] = df['column'].replace(org_value, replace_value)
이렇게 예를 들면 블로그명의 컬럼의 값 중에 "아과노트"를 "아과"로 바꿀경우는 아래와 같이 하면 됩니다.
df['블로그명'] = df['블로그명'].replace('아과노트', '아과')
3. 특정 컬럼의 특정 값 바꾸기(포함 일치) : df['column'] = df['column'].str.replace(org_value, replace_value)
문제는 우리가 보통 치환을 할 때는 주로 "AA"값이 포함된 경우 "AA"를 "BB"로 바꾸라라는 식으로 많이 사용하게 됩니다.
예제에서는 "펀드명" 컬럼에서 "주식형"이란 글자는 "주식"으로 바꾸라 라는 식입니다.
여기서는 단순히 df['column'].replace를 사용하면 문자열이 정확히 일치해야 변경이 되기 때문에 동작을 하지 않습니다.
df['펀드명'] = df['펀드명'].replace('주식형', '주식')
그러면 기존에 "주식형"으로 되어있던 데이터가 "주식"으로 변경된 것을 볼 수 있습니다.
오늘도 고생하셨습니다.