Filtro de pandas por valor

Filtro de pandas por valor
Una estructura tabular con columnas y filas es un marco de datos en pandas. Los datos se pueden limpiar, filtrar, agregar y agruparse utilizando esta biblioteca. Nos permite dividir el conjunto de datos original en grupos más pequeños. Al dividir el conjunto de datos en marcos de datos más pequeños, nos permite extraer subconjuntos del conjunto de datos dado. Esto hace que sea más simple examinar, visualizar y analizar secciones de datos particulares. Es necesario comprender estos comandos para usarlos de manera efectiva. Aprenderemos diferentes formas de filtrar un marco de datos Pandas en este tutorial de Python.

Cómo filtrar DataFrame por valores en pandas?

Afortunadamente, hay varias técnicas para filtrar datos de Dataframes y series en Pandas. Los valores de un marco de datos se pueden filtrar utilizando una variedad de funciones como se demuestra en los ejemplos a continuación.

Ejemplo # 01: filtrar filas de marco de datos con la ayuda del valor de la columna

En un marco de datos, con frecuencia necesita localizar instancias de un valor particular. El .La función de indexación LOC hace que sea fácil filtrar filas de acuerdo con si el valor existe o no. Primero, importaremos la Biblioteca Pandas. Luego, crearemos el marco de datos utilizando el PD.Función DataFrame ().

Hemos creado seis filas y tres columnas. La columna 'persona' consiste en los nombres de algunos individuos ('Jason', 'Arya', 'Kim', 'Ryan', 'Sana', 'Mark'). La columna 'peso' son los valores de datos que representan los pesos de los individuos en kg (80, 56, 60, 72, 63, 90). La columna 'Sex' tiene los valores de cadena que representan géneros de individuos ('m', 'f', 'f', 'm', 'f', 'm'). Extrazcamos las filas donde el valor en la columna 'Sex' es 'F'. Para esto, se utilizará la función loc []. Las filas se pueden recuperar utilizando la función LOC [] que ofrece Pandas. Solo las etiquetas de índice se pueden pasar como entrada en el marcado de datos.Método LOC []. Devuelve un DataFrame o fila si la etiqueta de índice existe en el marco de datos que se llama.

La expresión lógica se toma como argumento por el .Método LOC []. Al especificar la función df ['sex'] == 'f' dentro de la función loc [], la función ha devuelto tres filas donde el valor de la columna 'sexo' es 'f'.

Ejemplo # 02: Filtrando las filas de marco de datos con la ayuda de condiciones lógicas o relacionales

En algunos escenarios, es posible que prefiera encontrar datos agrupados basados ​​en patrones en lugar de filas con un solo valor. Las expresiones lógicas se pueden usar para definir patrones. Primero creemos un marco de datos.

El DataFrame anterior consta de tres columnas 'Gymnast' con valores ('Roxy', 'Alan', 'Eva', 'Marcus', 'Jim', 'Zack', 'Lana', 'Robin'), Altura de columna almacenando la Alturas de las gimnastas en pies (6.2, 6.0, 5.8, 6.2, 6.4, 5.9, 5.7, 6.0), y la columna que contiene los géneros de las gimnastas ('mujer', 'masculina', 'mujer', 'masculina', 'masculina', 'masculina', 'mujer', 'mujer')). La lógica se definirá en el operador de indexación ([]) como argumento.

Similar al último ejemplo, estamos filtrando las filas de marco de datos para extraer solo aquellas donde los valores de datos en la columna "altura" son mayores que 6.0.

Como se ve, tenemos tres filas donde el valor es mayor que 6.0 en la columna 'altura'. También podemos definir múltiples condiciones mediante el uso y el operador. Recuperemos las filas donde la altura es inferior a 6.2 y el valor en la columna 'género' es 'mujer'.

Hemos especificado dos condiciones dentro del operador de indexación ([]), DF ['altura'] < 6.2) and (df['gender'] == 'female'). The function has extracted the rows where the height is less than 6.2 and gender is equal to 'female'.

Ejemplo # 03: Filtrado de datos de datos con la ayuda del operador Slice

Hay situaciones en las que necesita filtrar datos en función de la posición del índice en lugar de los valores. Puede especificar rápidamente un rango de índice de la fila de DataFrame, columna o ambos para extraer utilizando el .método ILOC. Creemos un marco de marco de datos con múltiples columnas y para comprender el uso de la función ILOC [] prácticamente.

El marco de datos requerido se ha creado utilizando un diccionario de Python dentro de los paréntesis de la PD.Función DataFrame (). La columna DataFrame 'Player' consiste en el nombre de los jugadores ('Alex', 'Brock', 'Riley', 'Anna', 'Jia', 'Henry', 'Tom', 'Ron'), el 'puntaje 'La columna contiene el puntaje de algún juego reciente (9, 9, 6, 7, 8, 10, 4, 5), la columna de' rangos 'representa las filas de los jugadores (3, 2, 6, 5, 4, 1, 8, 7), y la columna 'Grado' que almacena los grados ('a', 'a', 'c', 'b', 'b', 'a', 'd', 'c')). Usemos la función ILOC [] para filtrar los datos.

El primer argumento devuelve cinco filas de datos como hemos especificado 0: 5. Significa las filas que comienzan en el índice 0 y termina antes del índice 5. Se devuelven dos columnas de datos como hemos especificado 1: 3 en el segundo argumento, lo que indica las columnas que comienzan en el índice 1 y terminan antes del índice 3. Si desea recuperar todas las filas o todas las columnas, puede dejar ese lugar de argumento (primero o segundo) con un colon ":".

Ejemplo # 04: Filtrando las filas de DataFrame con la función de ayuda de Query ()

Puede especificar una condición o múltiplo en los pandas.Método de consulta () como cadena. También elimina el requisito de recuperar las filas de marco de datos utilizando los operadores de indexación ([],.loc,.Iloc, etc.). Necesitamos crear un marco de datos primero a partir del cual filtraremos las filas.

Hay dos columnas en nuestro marco de datos: 'Estudiantes' con valores de datos ('Ryan', 'Wanda', 'Bob', 'Drew', 'Natalia', 'Maya', 'Adán', 'Nick') y 'Marcas 'con valores (48, 35, 46, 20, 28, 30, 43, 36). Para la función Query () para recuperar datos del DataFrame, podemos especificar una condición única o múltiples condiciones como una cadena.

Hemos especificado una condición para recuperar las filas donde el valor en la columna de las marcas es inferior a 48 y mayor que 30. Se recuperan cuatro filas de DataFrame que satisfacen la condición especificada dentro de la función de consulta ().

Ejemplo # 05: Filtrando las filas de marco de datos desde los valores nulos

En algunos casos, los valores nulos pueden estar presentes en un conjunto de datos. Usando los pandas.Función noNNULL (), es simple eliminar las filas con valores faltantes de DataFrame. Creemos un marco de datos que tenga valores nulos o valores faltantes en al menos una de sus columnas.

Como se puede ver en la columna 'col2' (11, ninguno, 36, ninguno, ninguno, 21, 46, 60), hay algunos valores faltantes. Con el uso del operador de indexación y la función NotNull (), estos valores nulos se pueden filtrar desde DataFrame.

La función anterior ha eliminado todas las filas que tienen valores nulos.

Ejemplo # 06: filtrar filas de marco de datos con la ayuda de los métodos de cadena

Los ejemplos de este tutorial se han concentrado principalmente en filtrar números numéricos. Sin embargo, los datos de cadena también se pueden usar. Para filtrar los datos aún más precisamente, algunas funciones de cadena también se pueden usar. Usemos el DataFrame que hemos creado en el Ejemplo # 5.

Puede filtrar las filas de DataFrame usando la propiedad STR y contiene () la función basada en una parte particular de un valor de cadena o el valor de cadena en su conjunto. Recuperemos las filas que tienen la cadena específica de "tigre" en los valores de las columnas 'col3'.

También podemos recuperar filas de DataFrame mediante la letra inicial de los valores de cadena utilizando la propiedad STR y comenzar con la función (). La letra inicial de la cadena se especificará en la función Startswith (). Recuperemos las filas donde los valores de cadena comienzan con la letra 'a' en la columna 'col1'.

Conclusión

En este tutorial, hemos discutido cómo filtrar el marco de datos por los valores en pandas. Hemos visto que los valores de un marco de datos se pueden filtrar utilizando varias funciones diferentes. Implementamos múltiples ejemplos en este tutorial para enseñarle cómo filtrar las filas de DataFrame con la ayuda de DataFrame.Loc [] Método, condiciones lógicas o relacionales, operador de corte, función de query (), función nonull () y métodos de cadena.