API · Pandas
Pandas DataFrame DataFrame.replace() Função
A função substituir() em Pandas substitui os valores em DataFrame por outros valores.
Nesta página
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.