En este artículo, seleccionaremos filas usando múltiples filtros en pandas. Seleccionaremos múltiples filas en pandas usando múltiples condiciones, operadores lógicos y usando la función loc() .
La selección de filas con operadores lógicos, es decir, AND y OR, se puede lograr fácilmente con una combinación de >, <, <=, >= y == para extraer filas con múltiples filtros. loc() se basa principalmente en etiquetas, pero también se puede usar con una array booleana para acceder a un grupo de filas y columnas por etiqueta o una array booleana.
Conjunto de datos utilizado:
Creación de un marco de datos con las columnas Nombre, Clase, Marcas en inglés, Marcas en matemáticas y Marcas en historia. Vamos a utilizar el siguiente conjunto de datos para todas las operaciones:
Python
import pandas as pd # initialize list of lists data = [['John', 8, 7, 6, 5], ['Paul', 8, 3, 6, 4], ['Juli', 9, 10, 9, 9], ['Geeta', 9, 5, 4, 4]] # Create the pandas DataFrame df = pd.DataFrame( data, columns=['Name', 'Class', 'English', 'Maths', 'History']) # print dataframe. print(df)
Producción
A continuación se muestran varias operaciones que implementan la selección de filas con múltiples filtros:
- Seleccionar la fila con estudiantes que tienen calificaciones en inglés superiores a 6 y calificaciones en matemáticas superiores a 8.
Python
df1 = df[(df.English>6) & (df.Maths>8)] print(df1)
Producción:
- Seleccionar filas con estudiantes que tengan calificaciones en inglés mayores que iguales a 5 o calificaciones en la historia mayores que 7.
Python
df1 = df[(df.English>=5) | (df.History>7)] print(df1)
Producción
- Seleccionando filas con estudiantes de la clase 9 que tienen notas en inglés mayores que igual a 5 o notas es historia mayor que 7.
Python
df1 = df[(df.Class == 9) & ((df.English>=5) | (df.History>7))] print(df1)
Producción:
- Seleccionando la fila con estudiantes que tienen calificaciones en inglés menores a 5 y calificaciones en matemáticas menores a 5 y calificaciones en historia menores a 5.
Python
df1 = df[(df.English<=5) & (df.Maths<=5) & (df.History<=5)] print(df1)
Producción:
- Seleccionando filas con estudiantes de la clase 8 que tienen calificaciones en inglés menores a 5 o calificaciones en matemáticas mayores a 5 o calificaciones en historia menores a 5.
Python
df1 = df[(df.Class == 8) & ((df.English<=5) | (df.Maths>5) | (df.History<=5))] print(df1)
Producción:
- Seleccionar filas con loc() que tengan marcas en inglés mayores que 6 y marcas en matemáticas mayores que 6.
Python
df1 = df.loc[(df['English']>6) & (df['Maths']>6)] print(df1)
Producción:
- Seleccionar filas con loc() que tengan calificaciones de estudiantes en inglés mayores a 6 o calificaciones en matemáticas mayores a 4. Solo mostramos columnas con Nombre y Clase.
Python
df1 = df.loc[((df['English']>6) | (df['Maths']>4)),['Name','Class']] print(df1)
Producción:
Publicación traducida automáticamente
Artículo escrito por devangj9689 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA