Pandas DataFrame DataFrame.replace() 함수

Suraj Joshi 2023년1월30일
  1. pandas.DataFrame.replace()의 구문 :
  2. 예제 코드: pandas.DataFrame.replace()를 사용하여 DataFrame의 값 바꾸기
  3. 예제 코드: pandas.DataFrame.replace()를 사용하여 DataFrame의 여러 값 바꾸기
Pandas DataFrame DataFrame.replace() 함수

pandas.DataFrame.replace()는 DataFrame의 값을 다른 값으로 대체합니다. 문자열, 정규식, 목록, 사전,시리즈또는 숫자 일 수 있습니다.

pandas.DataFrame.replace()의 구문 :

DataFrame.replace(,
                  to_replace=None,
                  value=None,
                  inplace=False,
                  limit=None,
                  regex=False,
                  method='pad')

매개 변수

to_replace 문자열, 정규식, 목록, 사전, 시리즈, 숫자 또는 None. 교체해야하는 DataFrame의 값
value 스칼라, dict, 목록, 문자열, regex 또는 없음. to_replace와 일치하는 모든 값을 바꿀 값
inplace 부울. True인 경우 호출자 DataFrame을 수정합니다.
limit 정수. 앞으로 또는 뒤로 채울 최대 크기 간격
regex 부울. to_replace 및 / 또는value가 정규식이면regexTrue로 설정합니다.
method 교체에 사용되는 방법

반환

지정된 모든 필드를 주어진 value으로 대체하는 DataFrame을 반환합니다.

예제 코드: pandas.DataFrame.replace()를 사용하여 DataFrame의 값 바꾸기

import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
print("Before Replacement")
print(df)  
replaced_df=df.replace(1, 5)
print("After Replacement")
print(replaced_df)

출력:

Before Replacement
   X  Y
0  1  4
1  2  1
2  3  8
After Replacement
   X  Y
0  5  4
1  2  5
2  3  8

여기서1to_replace 매개 변수를 나타내고5replace()메서드에서value 매개 변수를 나타냅니다. 따라서 값이 1인 모든 항목은 df에서 5로 대체됩니다.

예제 코드: pandas.DataFrame.replace()를 사용하여 DataFrame의 여러 값 바꾸기

목록을 사용하여 바꾸기

import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
print("Before Replacement")
print(df)  
replaced_df=df.replace([1,2,3],[1,4,9])
print("After Replacement")
print(replaced_df)

출력:

Before Replacement
   X  Y
0  1  4
1  2  1
2  3  8
After Replacement
   X  Y
0  1  4
1  4  1
2  9  8

여기서[1,2,3]to_replace 매개 변수를 나타내고[1,4,9]replace()메서드에서value 매개 변수를 나타냅니다. 따라서[1,2,3]열은df에서[1,4,9]로 대체됩니다.

사전을 사용하여 바꾸기

import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [3, 1, 8]})
print("Before Replacement")
print(df)  
replaced_df=df.replace({1:10,3:30})
print("After Replacement")
print(replaced_df)

출력:

Before Replacement
   X  Y
0  1  3
1  2  1
2  3  8
After Replacement
    X   Y
0  10  30
1   2  10
2  30   8

값이 1인 모든 요소를 10으로, 값이 3인 모든 요소를30으로 대체합니다.

Regex를 사용하여 바꾸기

import pandas as pd
df = pd.DataFrame({'X': ["zeppy", "amid", "amily"],
                   'Y': ["xar", "abc", "among"]})
print("Before Replacement")
print(df)  
df.replace(to_replace=r'^ami.$', value='song', regex=True,inplace=True)
print("After Replacement")
print(df)

출력:

Before Replacement
       X      Y
0  zeppy    xar
1   amid    abc
2  amily  among
After Replacement
       X      Y
0  zeppy    xar
1   song    abc
2  amily  among

모든 요소를ami로 처음 세 문자로 교체 한 다음 song로 한 문자를 대체합니다. 여기서 amid만 주어진 정규식을 충족하므로 amidsong으로 대체됩니다. amily에도 처음 세 개의 문자 ami가 있지만 ami뒤에는 두 개의 문자가 있습니다. 따라서 amily는 주어진 정규식을 충족하지 않으므로 동일하게 유지되고 대체되지 않습니다. 정규식을 사용하는 경우regexTrue로 설정되어 있고inplace=Truereplace()메서드를 호출 한 후 원래DataFrame을 수정하는지 확인합니다.

작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

관련 문장 - Pandas DataFrame