[Python pandas] DataFrame에서 replace 함수 사용하기

hwwwa·2022년 1월 17일
0

🐼 Python

목록 보기
9/18
  • Pandas의 DataFrame, Series에 저장된 값을 치환하고 싶은 경우 replace() 함수 사용 가능

Parameters

df.replace(
	to_replace=None, 
	value=None, 
	inplace=False, 
	limit=None, 
	regex=False, 
	method='pad'
)
  • to_replace: 교체해야하는 DataFrame의 값. str, regex, list, dict, Series, int, float, None
  • value: to_replace와 일치하는 모든 값을 대체할 값. scalar, dict, list, str, regex, None
  • inplace: 디폴트 값 False. True로 설정할 경우 호출자 DataFrame의 내용을 수정
  • limit: 앞으로 또는 뒤로 채울 최대 크기 간격. int
  • regex: to_replace 또는 value가 정규식이면 True로 설정
  • method: 교체에 사용되는 방법. ‘pad’, ‘ffill’, ‘bfill’, None

return

  • 지정된 모든 필드를 주어진 value로 대체한 DataFrame이 반환됨

example

import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
#    X  Y
# 0  1  4
# 1  2  1
# 2  3  8
replaced_df=df.replace(1, 5)
#    X  Y
# 0  5  4
# 1  2  5
# 2  3  8
  • list 사용
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
#    X  Y
# 0  1  4
# 1  2  1
# 2  3  8
replaced_df=df.replace([1,2,3],[1,4,9])
#    X  Y
# 0  1  4
# 1  4  1
# 2  9  8
  • dict 사용
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [3, 1, 8]})
#    X  Y
# 0  1  3
# 1  2  1
# 2  3  8  
replaced_df=df.replace({1:10,3:30})
#     X   Y
# 0  10  30
# 1   2  10
# 2  30   8
  • regex 사용
import pandas as pd
df = pd.DataFrame({'X': ["zeppy", "amid", "amily"],
                   'Y': ["xar", "abc", "among"]})
#        X      Y
# 0  zeppy    xar
# 1   amid    abc
# 2  amily  among
df.replace(to_replace=r'^ami.$', value='song', regex=True,inplace=True)
#        X      Y
# 0  zeppy    xar
# 1   song    abc
# 2  amily  among

참고

pandas 공식 document를 참고하였음.

0개의 댓글