Pandas Str Substitua

Pandas Str Substitua
Valores dentro de um quadro de dados ou outros objetos de pandas podem ser substituídos usando o método substituir () em pandas. No Python, podemos usar esse método para manipulação de dados e limpar os dados. Este tutorial ensinará como podemos substituir valores ou dados do quadro de dados fornecido usando o Pandas STR.Substituir () função. No DataFrame, podemos substituir dados de string e até expressões regulares (REGEX) usando o quadro de dados de pandas.str.Substituir () função. Semelhante à função substituta de Python (), o STR.Método replyT () em pandas também funciona na série.

str.substituir()

O método str.substituir () é usado para substituir uma string ou regex por um valor de string ou dados. A função substituir () pode substituir qualquer coisa por qualquer outra coisa, também as strings e regex. Dê uma olhada no STR.Sintaxe da função Substitua ().

Sintaxe

Pandas.Series.str.Substitua (Pat, Repl, n = -1, case = Nenhum, sinalizador = 0, regex = nenhum)

Parâmetros:

  1. Pat: Regex ou STR compilado. Expressões regulares ou seqüências de caracteres podem ser usadas como strings.
  2. repl: chamadas ou str. Substitua string ou chamável. Uma sequência de substituição deve ser retornada pelo chamável para que ela seja usada após receber o objeto REGEX MACK.
  3. n: Por padrão, defina como -1, int. Total de substituições a serem feitas.
  4. caso: Nenhum por padrão, bool. Descobre se "Substituir" é sensível ao caso:
    1. Sensível ao caso, se verdadeiro.
    2. Para insensibilidade ao caso, definido como falso
    3. Se Pat for especificado como um regex compilado, ele não pode ser definido.
  5. bandeiras: 0 ou nenhuma bandeira por padrão, int. Bandeiras no módulo regex, como re.IGNORAR CASO. Se Pat for especificado como um regex compilado, não pode ser definido.
  6. regex: Verdadeiro por padrão, bool. Identifica se uma expressão regular está presente no padrão passado: se verdadeiro, o padrão aprovado é considerado uma expressão regular. Caso contrário, o padrão é tratado como uma corda literal.

Cenário 1: STR.Substituir () no DataFrame

Aplicaremos esta função nas colunas de quadro de dados de pandas para substituir valores únicos/múltiplos. Veremos vários exemplos neste cenário.

Sintaxe:
Solteiro -

Dataframe_object ['coluna'].str.substituir ('velho', 'novo')

Múltiplo-

Dataframe_object ['coluna'].substitua ([valores antigos…], [novos valores…])

Aqui, o velho é a sequência existente e a nova é a nova string que substitui a existente.

Exemplo 1: Substitua uma única corda
Neste exemplo, estamos tendo um quadro de dados chamado "Records" que seguram "químico", "alfabeto" e colunas "Valency". Substitua 'hidrogênio' por "hidrogênio químico" na coluna química.

Importar pandas
Registros = pandas.DataFrame ('Chemical': ['hidrogênio', 'nitrogênio', 'oxigênio', 'hidrogênio', 'sódio'],
'alfabeto': ['hy', 'n', 'o', 'hy', 'na'],
'valência': [10, 2, 3, 4, 11])
Imprimir (registros)
# Substitua 'hidrogênio' por "hidrogênio químico" na coluna química.
Registros ['Chemical'] = Registros ['Chemical'].str.substituir(
'hidrogênio', 'hidrogênio químico')
imprimir()
Imprimir (registros)

Saída:

Explicação
Existem duas cordas com 'hidrogênio' na coluna química. Então, os dois foram substituídos por "hidrogênio químico".

Exemplo 2: Substitua um único caractere
Neste exemplo, estamos tendo um DataFrame chamado "Records" que seguram "Chemical" e "Alphabet" Colunas. Substitua 'O' por "O" na coluna do alfabeto.

Importar pandas
Registros = pandas.Dataframe ('químico': ['hidrogênio', 'nitrogênio', 'oxigênio', 'hidrogênio'],
'alfabeto': ['hy', 'n', 'o', 'não'])
Imprimir (registros)
# Substitua 'O' por "O" na coluna do alfabeto.
Registros ['alfabeto'] = registros ['alfabeto'].str.Substitua ('O', 'O')
imprimir()
Imprimir (registros)

Saída:

Existem dois caracteres na coluna do alfabeto. Então, os dois foram substituídos por "O".

Exemplo 3: Substitua várias strings
Vamos substituir 'hidrogênio' por 'hidrogênio', 'oxigênio' por 'oxy' e 'enxofre' com 's' na coluna química

Importar pandas
Registros = pandas.Dataframe ('químico': ['hidrogênio', 'nitrogênio', 'oxigênio', 'hidrogênio', 'enxofre'],
'alfabeto': ['hy', 'n', 'o', 'não', 'sul'])
Imprimir (registros)
# Substitua vários valores por vez.
Registros ['Chemical'] = Registros ['Chemical'].substitua (['hidrogênio', 'oxigênio', 'enxofre'], ['hidrogênio', 'oxy', 's']))
imprimir()
Imprimir (registros)

Saída:

2 Strings de "hidrogênio" são substituídas por "hidrogênio", 1 "oxigênio" e "enxofre" são substituídos por "oxy" e "s".

Exemplo 4: substitua várias strings usando dicionário
Vamos substituir 'hidrogênio' por 'ácido' e 'enxofre' por 'base' na coluna química

Importar pandas
Registros = pandas.Dataframe ('químico': ['hidrogênio', 'nitrogênio', 'oxigênio', 'hidrogênio', 'enxofre'],
'alfabeto': ['hy', 'n', 'o', 'não', 'sul'])
Imprimir (registros)
# Substitua vários valores por vez.
Registros ['Chemical'] = Registros ['Chemical'].substitua ('hidrogênio': 'ácido', 'enxofre': 'base')
imprimir()
Imprimir (registros)

Saída:

2 strings de "hidrogênio" são substituídas por "ácido" e 1 "enxofre" é substituído por "base".

Cenário 2: STR.Substituir () em série

Vamos criar uma série de pandas e substituir strings por novas strings por um padrão regex. Podemos especificar a substring que deve ser substituída dentro do re.Método Compile () e isso pode ser passado dentro do método substituir () como o primeiro parâmetro e a nova string como o segundo parâmetro que substitui a substring.

Sintaxe:

Único - série_Object.str.substitua (re.Compilar ("Old)", novo ")

Aqui, o velho é a sequência existente e a nova é a nova string que substitui a existente.

Exemplo: Substitua uma única string
Neste exemplo, estamos tendo uma série chamada "Record" que contém 4 strings.
Substitua a substring - "gen" por "e".

Importar pandas
importar re
# Crie séries de pandas com 4 strings
registro = pandas.Série (['hidrogênio', 'nitrogen', 'hy', 'n']))
# Substitua a substring - "gen" com "e".
Imprimir (gravar.str.substitua (re.compilar ("gen"), "e")))
imprimir()
# Substitua a substring - "gen" com "e" ignorando o caso.
Imprimir (gravar.str.substitua (re.compilar ("gen", sinalizadores = re.Ignorecase), "e"))

Saída:

Explicação

  1. Na primeira saída, não estamos ignorando a sensibilidade ao caso. Então, "gen" e "gen" são diferentes. Como "gen" não existe na série, nenhuma substituição é feita.
  2. Na segunda saída, estamos ignorando a sensibilidade ao caso definindo “sinalizadores = re.IGNORAR CASO". Então, "gen" e "gen" são iguais. É substituído por "e". Portanto, as cordas atualizadas são - “hidroandos” e “nitroand”.

Conclusão

Ensinamos como substituir/substituir os valores da string em pandas. Discutimos a sintaxe do STR.Substitua () Método para entender sua funcionalidade. Implementamos alguns exemplos neste tutorial para ensinar como substituir os valores da string pelos dados da string, substituir um caractere específico, substituir uma sequência de substring ou caracteres pelos valores da string e substituir várias strings da coluna DataFrame usando STR.Substituir () e substituir () funções. Além disso, como substituir strings da série usando regex.