Cómo comparar dos columnas en pandas (con ejemplos)

Actualizado el 7 de mayo de 2021, por Luis Benites.

A menudo, es posible que desee comparar dos columnas en un Pandas DataFrame y escribir los resultados de la comparación en una tercera columna.

Puede hacer esto fácilmente usando la siguiente sintaxis:

condiciones = [(condición1), (condición2)]
elecciones = [" elección1 ", " elección2 "]

df [" new_column_name "] = np. seleccionar (condiciones, opciones, predeterminado)

Esto es lo que hace este código:

  • Las condiciones son las condiciones que se deben verificar entre las dos columnas.
  • Las opciones son los resultados que se devolverán según las condiciones.
  • np.select se usa para devolver los resultados a la nueva columna

El siguiente ejemplo muestra cómo utilizar este código en la práctica.

Ejemplo: comparar dos columnas en pandas

Supongamos que tenemos el siguiente DataFrame que muestra el número de goles marcados por dos equipos de fútbol en cinco partidos diferentes:

importar numpy como np
 importar pandas como pd

#create DataFrame
 df = pd. DataFrame ({' A_points ': [1, 3, 3, 3, 5],
                   ' B_points ': [4, 5, 2, 3, 2]})
             
#view DataFrame      
 df

          A_points B_points
0 1 4
1 3 5
2 3 2
3 3 3
4 5 2

Podemos usar el siguiente código para comparar el número de goles por fila y mostrar el ganador del partido en una tercera columna:

#definir condiciones 
condiciones = [df [' A_points ']> df [' B_points '],
              df [' A_points '] <df [' B_points ']]

#definir opciones
 opciones = [' A ', ' B ']

# crear una nueva columna en DataFrame que muestre los resultados de las comparaciones
 df [' ganador '] = np. seleccionar (condiciones, opciones, predeterminado = ' Empate ')

#ver el DataFrame
 df

          Ganador de A_points B_points
0 1 4 B
1 3 5 B
2 3 2 A
3 3 3 Corbata
4 5 2 A

Los resultados de la comparación se muestran en la nueva columna denominada ganador .

Notas

Aquí hay algunas cosas a tener en cuenta al comparar dos columnas en un DataFrame de pandas:

  • El número de condiciones y opciones debe ser igual.
  • El valor predeterminado especifica el valor que se mostrará en la nueva columna si no se cumple ninguna de las condiciones.
  • Se requieren tanto NumPy como Pandas para que este código funcione.

Puede encontrar más tutoriales de Python 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

Deja un comentario

Se utiliza un ANOVA de una vía para determinar si existe o no una diferencia estadísticamente significativa entre las medias…
statologos comunidad-2

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

You have Successfully Subscribed!