Pandas regex

Pandas regex

Podemos crear una serie o marco de datos en "pandas" y hacer muchas más tareas utilizando las funciones o métodos de "pandas". Como sabemos, almacenamos muchos datos en "Pandas" Dataframes y series. También podemos buscar los patrones en pandas utilizando el regex. Para identificar el patrón en una cadena dentro de una serie o marco de datos, hay muchas funciones de "pandas" disponibles que el Regex acepta. Podemos extraer, filtrar o limpiar fácilmente los datos aplicando varios métodos que nos permite el regex nos permite. Utilizaremos los diferentes métodos de "pandas" que el regex nos permite usar en el código "pandas" y explicaremos el "regex" en "pandas" en detalle en este artículo.

Ejemplo 1:

Ahora realizamos los códigos "Pandas" en la herramienta "Spyder". Importamos la biblioteca "Pandas" aquí como "PD" ya que estamos trabajando con la biblioteca "Pandas". Luego, desarrollamos el "update_df" aquí, que es el marco de datos. El método "pandas" "dataFrame ()" ayuda en la creación de DataFrame. Luego, colocamos el "dict" y agregamos los nombres en el "nombre" que son "Zane, Santiago, Silas, Roman, Milo, Samuel y Hayes". Después de esto, tenemos los "Guardianes" en los que colocamos "Leif, Jasper, Julian, Laken, Jude, Ezra y Briar". Las "marcas" vienen a continuación, que contiene "89, 23, 33, 99, 56, 90 y 66". Luego, los "sujetos" contienen "biología, zoología, química, ética, botánica, GK y silvicultura".

También renderizamos el método "update_df" utilizando el método "print ()". Primero, mostramos este marco de datos y luego avanzamos.

Si está trabajando en la aplicación "Spyder", debe presionar las teclas "Shift+Enter" o el icono "Ejecutar" de esta aplicación. Después de hacer esto, la salida se muestra en el terminal. Aquí, solo obtenemos el marco de datos que generamos anteriormente. El marco de datos también se muestra en lo siguiente que aparece en el terminal después de la ejecución de los códigos.

Ahora usamos el "str.Método Match () "aquí. Este "str.El método Match () "ayuda a filtrar las filas en el marco de datos" pandas ". Primero colocamos la variable "regex1" y ajustamos la "S.*" allá. Después de esto, utilizamos el "str.fósforo()". Para esto, primero agregamos el nombre de DataFrame y luego colocamos el soporte cuadrado. Dentro de este soporte cuadrado, colocamos el nombre de DataFrame "Updated_DF" junto con el nombre de la columna "Nombre". Entonces, pusimos el "str.Match () ”en el que agregamos el nombre de la variable que inicializamos anteriormente.

Ahora, verifica todos los valores presentes en la columna "Nombre" y filtra esas filas donde el nombre comienza desde "S". Después de esto, inicializamos la variable "regex2". Esta vez, lo inicializamos con "J.*. Usamos esta variable en el "STR.Función Match () "para extraer las filas. Aplicamos el "str.Método Match () "en la columna" Guardianes "y extrae esas filas donde comienzan los nombres de los guardianes con" J ". Agregamos ambos métodos en la "impresión", por lo que ambos resultados se muestran en el terminal.

La columna "Nombre" en la que el nombre comienza con "S" se extrae del DataFrame y se muestra. Después de esto, esas filas se filtran donde los nombres de los guardianes comienzan con "J" y también se presentan en el resultado. Filtramos estas filas utilizando el "STR.Método Match () ".

Ejemplo 2:

Creamos el "frecuencia_df" aquí. Este "frecuencia_df" contiene "Tamaño, Fre_1, Fre_2, Fre_3, Fre_4 y Fre_5". En el "tamaño", agregamos el "ff_1, ff_2, ff_3, ff_4, ff_5, ff_6 y ff_7". Luego, en el "Fre_1", ponemos los "$ 21, $ 22, $ 23, $ 24, $ 25, $ 26 y $ 27". Ahora, tenemos "Fre_2", donde insertamos los "$ 31, $ 32, $ 33, $ 34, $ 35, $ ​​36 y $ 37". También agregamos los "$ 21, $ 42, $ 43, $ 44, $ 45, $ 46 y $ 47" en el "Fre_3". Ahora tenemos "Fre_4" y colocamos los "$ 51, $ 52, $ 23, $ 54, $ 55, $ 56 y $ 57". Después de esto, ponemos los "$ 21, $ 81, $ 82, $ 83, $ 84, $ 85 y $ 86" en el "Fre_5".

Ahora, agregamos el "print ()" en el que colocamos el "frecuencia_df". Utilizamos el método "reemplazar ()" aquí para reemplazar los datos del marco de datos. Primero colocamos la variable "frecuencia_df1" que almacena los datos que obtenemos después de aplicar el método "reemplazar ()" porque utilizamos esta variable "frecuency_df1" aquí e inicializamos con el método "reemplazar ()". Mencionamos el "frecuencia_df", que es el nombre de DataFrame y luego colocamos el método "Reemplazar ()" con el nombre de este DataFrame. Agregamos el parámetro "ff_" en el parámetro "to_replace" de esta función. Ajustamos el valor que es "Fre_" en el segundo parámetro que es el parámetro "Valor".

Luego, agregamos el "regex" en este método, que es el tercer parámetro. Ajustamos el "verdadero". Ahora, pasamos el "frecuencia_df1" al "print ()". Los datos que obtenemos después de reemplazarlos se muestran en el terminal.

Este resultado muestra el primer marco de datos con el valor "ff_" que está presente en la columna "tamaño". Todos los valores "ff_" de este marco de datos se reemplazan por "Fre_". También se muestra en el segundo marco de datos, que es el marcador de datos actualizado que obtenemos después de aplicar la función "reemplazar ()".

Ejemplo 3:

Ahora, creamos una serie en este ejemplo usando el "PD.Método de la serie () "y agregue el" Francia, Colombia, Canadá, China, Puerto Rico, Canadá y Los Ángeles "en él. Guardamos esta serie en la variable "my_series" y agregamos esta variable en "print ()". Ahora aplicamos el "Str.método findall () "a esta serie para encontrar y extraer la cadena de la serie. Colocamos el "itm [0]". Luego, usamos el "para" y luego escribimos "ITM" después del "For". Luego, coloque la palabra clave "in" y el nombre de la serie junto con el "str.método findall () ". Esto funciona como el bucle y verifica todos los valores de la serie.

En el "str.Método Findall () ", colocamos el" CC "que verifica los datos de la serie y devuelve los valor que comienza con la letra" C "o" C ". Inicializamos la variable de "datos" con este "STR.método findall () ". Los valores que obtenemos después de aplicar el "STR.findall () "a la" my_series "se guarda en la variable" datos ". Luego, utilizamos la "print ()" en la que se agregan la variable "datos". Los valores que obtenemos después de utilizar el "STR.findall () "a la serie se muestra.

La serie completa se muestra aquí. Los valores de la serie que comienzan con el carácter "C" o "C" se extraen de esta serie y se muestran en lo siguiente:

Ejemplo 4:

Importamos los "pandas", así como el "re" en este ejemplo. Después de importar ambos, generamos un marco de datos con el nombre "data_dataframe". En este DataFrame, las columnas que agregamos son "column_1, column_2, column_3 y column_4". El "column_1" contiene "15, 11, 19, 10, 18, 19, 20, 21". El "column_2" contiene "A, B C, D, E, F, G y H". Luego tenemos el "column_3" y también agregamos los datos que son "A, B, C, D, E, F, G y H". La última columna, la "columna_4" contiene "ABC (Capital), ABB, AAA (Capital), YHN, ABC, PLM (Capital), Qaz e YGV (Capital)".

Luego, representamos este "data_dataframe". Ahora, colocamos la palabra clave "def" y definimos la función "clean_names ()" en la que agregamos el "column_4". Luego, utilizamos el "if" a continuación donde usamos el método "Search ()" de "RE" y Put "((.*"Como el primer parámetro y" column_4 "como el segundo parámetro. Busca el soporte "(" en los datos "column_4".

Después de esto, colocamos la variable "nueva" y la inicializamos con el mismo método que es el "Re.Search () "Método y pasar los mismos parámetros. También agregamos el "inicio ()" con este método. Luego, tenemos la palabra clave "return" donde obtenemos los valores que se almacenan en la variable "nueva" y la devuelvamos aquí. Además, agregamos el "más". Después de esto, agregamos una nueva "columna_4" y agregamos la función "Clean_names" con esta "columna_4". Elimina todos los nombres que están presentes en el soporte "(" en el "column_4". Luego, usamos la "impresión" nuevamente.

En el primer DataFrame, el Column_4 contiene los nombres que están presentes en el soporte. En el siguiente marcado de datos, estos nombres que se agregan en los soportes se eliminan y solo se muestran los valores de "column_4":

Conclusión

Escribimos este artículo para explicar el concepto "Pandas regex" en detalle. Discutimos que la "regex" nos permite utilizar muchas funciones para filtrar los datos del marco o serie de datos en "pandas". Aplicamos el "str.Métodos de coincidencia () "y" reemplazar () "en el marco de datos" pandas ". También aplicamos el "str.método findall () "en la serie de nuestros códigos. Importamos el paquete "RE" en el último ejemplo y utilizamos su método, que es el "RE.Search () "Método para buscar los datos en este tutorial.