Pandas DataFrame DataFrame.replace() Função
-
Sintaxe de
pandas.DataFrame.replace(): -
Códigos de exemplo: Substitui valores em DataFrame utilizando
pandas.DataFrame.replace() -
Códigos de exemplo: Substituir vários valores no DataFrame utilizando
pandas.DataFrame.replace()
pandas.DataFrame.replace() substitui os valores em DataFrame por outros valores, que podem ser string, regex, lista, dicionário, Series, ou um número.
Sintaxe de pandas.DataFrame.replace():
DataFrame.replace(,
to_replace=None,
value=None,
inplace=False,
limit=None,
regex=False,
method='pad')
Parâmetros
to_replace |
string, regex, lista, dicionário, série, numérica, ou None. Valores em DataFrame que precisam de ser substituídos |
value |
escalar, ditado, lista, cordel, regex, ou Nenhum. Valor para substituir quaisquer valores correspondentes a_substituir por |
inplace |
Booleano. Se True modificar o autor da chamada DataFrame. |
limit |
Inteiro. Tamanho máximo a preencher para a frente ou para trás |
regex |
Booleano. Definir regex para True se to_replace e/ou value for uma regex |
method |
Método utilizado para substituição |
Devolver
Retorna um DataFrame substituindo todos os campos especificados por um dado value.
Códigos de exemplo: Substitui valores em DataFrame utilizando pandas.DataFrame.replace()
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)
Resultado:
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
Aqui, 1 representa o parâmetro to_replace e 5 representa o parâmetro value no método replace(). Assim, todas as entradas com o valor 1 são substituídas por 5 no parâmetro df.
Códigos de exemplo: Substituir vários valores no DataFrame utilizando pandas.DataFrame.replace()
Substituir Listas de Utilização
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)
Resultado:
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
Aqui, [1,2,3] representa o parâmetro to_replace e [1,4,9] representa o parâmetro value no método replace(). Assim, a coluna [1,2,3] é substituída por [1,4,9] no df.
Substituir Utilizando Dicionários
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)
Resultado:
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
Substitui todos os elementos com o valor 1 por 10 e todos os elementos com o valor 3 por 30.
Substitui utilizando 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)
Resultado:
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
Substitui todos os elementos com os três primeiros caracteres como ami seguidos de qualquer caracter com song. Aqui apenas a amid satisfaz dada a regex e por isso apenas a amid é substituída por song. Embora amily também tenha os seus três primeiros caracteres como ami mas há dois caracteres depois de ami. Assim, amily não satisfaz o regex dado e, portanto, permanece o mesmo e não é substituído. Se estiver a utilizar regex, certifique-se de que regex está definido para True e inplace=True modifica o DataFrame original depois de chamar replace() metodo nele.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn