Cómo filtrar un DataFrame de Pandas en múltiples condiciones

A menudo, es posible que desee filtrar un DataFrame de pandas en más de una condición. Afortunadamente, esto es fácil de hacer usando operaciones booleanas.

Este tutorial proporciona varios ejemplos de cómo filtrar los siguientes Pandas DataFrame en múltiples condiciones:

importar pandas como pd

#create DataFrame
df = pd.DataFrame ({'equipo': ['A', 'A', 'B', 'B', 'C'],
                   'puntos': [25, 12, 15, 14, 19],
                   'asiste': [5, 7, 7, 9, 12],
                   'rebotes': [11, 8, 10, 6, 6]})

#view DataFrame 
df

        puntos de equipo ayuda a rebotes
0 A 25 5 11
1 A 12 7 8
2 B 15 7 10
3 B 14 9 6
4 C 19 12 6

Ejemplo 1: Filtrar por múltiples condiciones usando ‘Y’

El siguiente código ilustra cómo filtrar el DataFrame usando el operador and ( & ):

#Return solo filas donde los puntos son mayores que 13 y las asistencias son mayores que 7 
df [(df. points > 13) & (df. assists > 7)]

        puntos de equipo ayuda a rebotes
3 B 14 9 6
4 C 19 12 6

# devuelva solo las filas donde el equipo es 'A' y los puntos son mayores o iguales a 15
 gl [(df. equipo == 'A') & (df. puntos > = 15)]


        puntos de equipo ayuda a rebotes
0 A 25 5 11

Ejemplo 2: Filtrar por múltiples condiciones usando ‘O’

El siguiente código ilustra cómo filtrar el DataFrame usando el operador o ( | ):

#Return solo filas donde los puntos son mayores que 13 o las asistencias son mayores que 7 
df [(df. puntos > 13) | (df. asistencias > 7)]


        puntos de equipo ayuda a rebotes
0 A 25 5 11
2 B 15 7 10
3 B 14 9 6
4 C 19 12 6

#Regrese solo las filas donde el equipo es 'A' o los puntos son mayores o iguales a 15
 gl [(gl. equipo == 'A') | (df. puntos > = 15)]

        puntos de equipo ayuda a rebotes
0 A 25 5 11
1 A 12 7 8
2 B 15 7 10
4 C 19 12 6

Ejemplo 3: Filtrar por múltiples condiciones usando una lista

El siguiente código ilustra cómo filtrar el DataFrame donde están los valores de fila en alguna lista.

#define una lista de valores
filter_list = [12, 14, 15]

#Return solo las filas donde los puntos están en la lista de valores 
df [df. puntos . ISIN (filter_list)]

	puntos de equipo ayuda a rebotes
1 A 12 7 8
2 B 15 7 10
3 B 14 9 6

#define otra lista de valores
 filter_list2 = ['A', 'C']

#retornar solo las filas donde el equipo está en la lista de valores
 df [df. equipo . ISIN (filter_list2)]


        puntos de equipo ayuda a rebotes
0 A 25 5 11
1 A 12 7 8
4 C 19 12 6

Puedes encontrar más tutoriales de pandas aquí .

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿Te hemos ayudado?

Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:

La ayuda no cuesta nada

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

Deja un comentario

La distribución binomial describe la probabilidad de obtener k éxitos en n experimentos binomiales. Si una variable aleatoria X sigue…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!