Pandas Regex

Pandas Regex

Podemos criar uma série ou quadro de dados em "Pandas" e realizar muito mais tarefas, utilizando as funções ou métodos de "pandas". Como sabemos, armazenamos muitos dados em quadros e séries de dados de "pandas". Também podemos pesquisar os padrões em pandas utilizando o regex. Para identificar o padrão em uma string dentro de uma série ou dataframe, muitas funções de "pandas" estão disponíveis que o regex aceita. Podemos extrair, filtrar ou limpar facilmente os dados aplicando vários métodos que o regex nos permite. Utilizaremos os diferentes métodos de "pandas" que o regex nos permite usar no código "pandas" e explicaremos o "regex" em "pandas" em detalhes neste artigo.

Exemplo 1:

Agora realizamos os códigos "pandas" na ferramenta "Spyder". Nós importamos a biblioteca "pandas" aqui como "PD", já que estamos trabalhando com a biblioteca "pandas". Em seguida, desenvolvemos o "update_df" aqui, que é o DataFrame. O método "pandas" "dataframe ()" ajuda na criação do quadro de dados. Em seguida, colocamos o "ditado" e adicionamos os nomes no "nome" que são "Zane, Santiago, Silas, Roman, Milo, Samuel e Hayes". Depois disso, temos os "Guardiões" em que colocamos "Leif, Jasper, Julian, Laken, Jude, Ezra e Briar". As “marcas” surgem a seguir, que contém “89, 23, 33, 99, 56, 90 e 66”. Então, os "sujeitos" contém "biologia, zoologia, química, ética, botânica, GK e silvicultura".

Também renderizamos o "update_df" usando o método "print ()". Primeiro, exibimos esse quadro e depois seguimos em frente.

Se você está trabalhando no aplicativo "Spyder", deve pressionar as teclas "Shift+Enter" ou o ícone "Run" deste aplicativo. Depois de fazer isso, a saída é mostrada no terminal. Aqui, apenas obtemos o quadro de dados que geramos anteriormente. O DataFrame também é mostrado no seguinte que aparece no terminal após a execução dos códigos.

Agora, usamos o “str.Match () ”Método aqui. Este “str.Método Match () ”ajuda a filtrar as linhas no quadro de dados“ pandas ”. Primeiro colocamos a variável "regex1" e ajustamos o "S.*" lá. Depois disso, utilizamos o “str.corresponder()". Para isso, primeiro adicionamos o nome do quadro de dados e depois colocamos o suporte quadrado. Dentro deste suporte quadrado, colocamos o nome do DataFrame "Updated_Df" junto com o nome da coluna "Nome". Então, colocamos o “str.Match () ”em que adicionamos o nome da variável que inicializamos anteriormente.

Agora, ele verifica todos os valores presentes na coluna "nome" e filtram essas linhas onde o nome começa em "s". Depois disso, inicializamos a variável "regex2". Desta vez, inicializamos com “j.*”. Usamos essa variável no “STR.Match () ”função para extrair as linhas. Aplicamos o “STR.Match () ”Método na coluna“ Guardiões ”e extrai aquelas linhas onde os nomes do Guardian começam com“ J ”. Adicionamos os dois métodos na “impressão” para que ambos os resultados sejam exibidos no terminal.

A coluna "nome" na qual o nome começa com "s" é extraído do quadro de dados e é exibido. Depois disso, essas linhas são filtradas onde os nomes do Guardian começam com "J" e também são renderizados no resultado. Filtamos essas linhas utilizando o “str.Match () ”Método.

Exemplo 2:

Criamos o "frequency_df" aqui. Este "frequency_df" contém "size, fre_1, fre_2, fre_3, fre_4 e fre_5". No "tamanho", adicionamos o "FF_1, FF_2, FF_3, FF_4, FF_5, FF_6 e FF_7". Então, no "FRE_1", colocamos os "$ 21, US $ 22, US $ 23, US $ 24, US $ 25, US $ 26 e US $ 27". Agora, temos "fre_2", onde inserimos os "$ 31, US $ 32, US $ 33, US $ 34, US $ 35, US $ 36 e US $ 37". Também adicionamos os “$ 21, $ 42, US $ 43, US $ 44, US $ 45, US $ 46 e US $ 47” no “FRE_3”. Agora, temos "fre_4" e colocamos os "US $ 51, US $ 52, US $ 23, US $ 54, US $ 55, US $ 56 e US $ 57". Depois disso, colocamos os “US $ 21, US $ 81, US $ 82, US $ 83, US $ 84, US $ 85 e US $ 86” no “FRE_5”.

Agora, adicionamos o "Print ()" no qual colocamos o "frequency_df". Utilizamos o método "Substituir ()" aqui para substituir os dados do quadro de dados. Primeiro, colocamos a variável "frequency_df1", que armazena os dados que obtemos depois de aplicar o método "substituir ()" porque utilizamos essa variável "frequency_df1" aqui e inicializamos com o método "substituir ()". Mencionamos o "frequency_df", que é o nome do DataFrame e, em seguida. Adicionamos o "FF_" no parâmetro "to_replace" desta função. Ajustamos o valor que é "fre_" no segundo parâmetro, que é o parâmetro "valor".

Em seguida, adicionamos o "regex" neste método que é o terceiro parâmetro. Nós ajustamos o "verdadeiro". Agora, passamos o "frequency_df1" para o "print ()". Os dados que obtemos depois de substituí -los são exibidos no terminal.

Este resultado mostra o primeiro datraframe com o valor "FF_" que está presente na coluna "tamanho". Todos os valores “FF_” deste quadro de dados são substituídos por “Fre_”. Também é mostrado no segundo quadro de dados, que é o quadro de dados atualizado que obtemos depois de aplicar a função "substituir ()".

Exemplo 3:

Agora, criamos uma série neste exemplo usando o “PD.Método da série () ”e adicione o“ França, Colômbia, Canadá, China, Porto Rico, Canadá e Los Angeles ”. Salvamos esta série na variável "my_series" e adicionamos essa variável na "print ()". Agora, aplicamos o “STR.Método findall () ”para esta série para encontrar e extrair a string da série. Colocamos o “ITM [0]”. Então, usamos o "for" e depois escrevemos "ITM" após o "para". Em seguida, coloque a palavra -chave "in" e o nome da série junto com o "STR.Método Findall () ”. Isso funciona como o loop e verifica todos os valores da série.

No “str.Método Findall () ”, colocamos o“ CC ”que verifica os dados da série e retorna o valor que começa com a letra“ C ”ou“ C ”. Inicializamos a variável "dados" com esta "STR.Método Findall () ”. Os valores que obtemos depois de aplicar o “str.findall () "para a" my_series "é salvo na variável" dados ". Em seguida, utilizamos o "print ()" no qual a variável "dados" é adicionada. Os valores que obtemos depois de utilizar o “str.findall () ”para a série é exibido.

A série completa é exibida aqui. Os valores da série que começam com o caractere "C" ou "C" são extraídos desta série e exibidos no seguinte:

Exemplo 4:

Nós importamos os "pandas" e o "re" neste exemplo. Depois de importar ambos, geramos um DataFrame com o nome "Data_Dataframe". Neste DataFrame, as colunas que adicionamos são “Column_1, Column_2, Column_3 e Column_4”. O "Column_1" contém "15, 11, 19, 10, 18, 19, 20, 21". O "Column_2" contém "A, B C, D, E, F, G e H". Então temos o "column_3" e também adicionamos os dados que são "A, B, C, D, E, F, G e H". A última coluna, a “Column_4” contém “ABC (capital), ABB, AAA (capital), YHN, ABC, PLM (capital), Qaz e YGV (capital)”.

Em seguida, renderizamos este "data_dataframe". Agora, colocamos a palavra -chave "def" e definimos a função "clean_names ()" na qual adicionamos o "column_4". Em seguida, utilizamos o "se" abaixo, onde usamos o método "Search ()" de "re" e coloque "(.*"Como o primeiro parâmetro e" column_4 "como o segundo parâmetro. Ele pesquisa o suporte "(" nos dados "Column_4".

Depois disso, colocamos a “nova” variável e a inicializamos com o mesmo método que é o “RE.search () ”” e passe os mesmos parâmetros. Também adicionamos o "start ()" com este método. Em seguida, temos a palavra -chave "retornar", onde obtemos os valores que são armazenados na variável "nova" e retornam aqui. Além disso, adicionamos o "else". Depois disso, adicionamos uma nova "column_4" e adicionamos a função "clean_names" com esta "column_4". Ele remove todos os nomes que estão presentes no suporte “(” no “Column_4”. Então, usamos a "impressão" novamente.

No primeiro dataframe, o column_4 contém os nomes presentes no suporte. No quadro de dados a seguir, esses nomes que são adicionados entre colchetes são removidos e apenas os valores de "Column_4" são mostrados:

Conclusão

Escrevemos este artigo para explicar o conceito "pandas regex" em detalhes. Discutimos que o "regex" nos permite utilizar muitas funções para filtrar os dados do quadro ou série em "pandas". Aplicamos o “STR.Match () "e" Replicar () "Métodos no quadro de dados" pandas ". Nós também aplicamos o “STR.Método Findall () ”da série em nossos códigos. Importamos o pacote "RE" no último exemplo e utilizamos seu método que é o "RE.Método de pesquisa () ”para pesquisar os dados neste tutorial.