Pandas: cómo encontrar la diferencia entre dos columnas

Para encontrar la diferencia entre dos columnas en un DataFrame de pandas, puede usar la siguiente sintaxis:

df [' diferencia '] = df [' columna1 '] - df [' columna2 ']

Los siguientes ejemplos muestran cómo utilizar esta sintaxis en la práctica.

Ejemplo 1: encontrar la diferencia entre dos columnas

Supongamos que tenemos el siguiente DataFrame de pandas que muestra las ventas totales para dos regiones (A y B) durante ocho períodos de ventas consecutivos:

importar pandas como pd

#create DataFrame 
df = pd. DataFrame ({' período ': [1, 2, 3, 4, 5, 6, 7, 8],
                   ' A_sales ': [12, 14, 15, 13, 18, 20, 19, 24],
                   ' B_sales ': [14, 19, 20, 22, 24, 20, 17, 23]})

#view DataFrame
 df

período A_ventas B_ventas
0 1 12 14
1 2 14 19
2 3 15 20
3 4 13 22
4 5 18 24
5 6 20 20
6 7 19 17
7 8 24 23

El siguiente código muestra cómo calcular la diferencia entre las ventas en la región B y la región A para cada período de ventas:

#add nueva columna para representar la diferencia entre las ventas B y las ventas A 
df [' diff '] = df [' B_sales '] - df [' A_sales ']

#view DataFrame
 df

        período A_ventas B_dif.
0 1 12 14 2
1 2 14 19 5
2 3 15 20 5
3 4 13 22 9
4 5 18 24 6
5 6 20 20 0
6 7 19 17-2
7 8 24 23-1

También podríamos calcular la diferencia absoluta en las ventas usando la función pandas.Series.abs () :

#add nueva columna para representar la diferencia absoluta entre las ventas B y las ventas A 
df [' diff '] = pd. Serie . abs (df ​​[' B_sales '] - df [' A_sales '])

#view DataFrame
 df

	período A_ventas B_dif.
0 1 12 14 2
1 2 14 19 5
2 3 15 20 5
3 4 13 22 9
4 5 18 24 6
5 6 20 20 0
6 7 19 17 2
7 8 24 23 1

Ejemplo 2: encontrar la diferencia entre columnas según la condición

También podemos filtrar el DataFrame para mostrar solo las filas donde la diferencia entre las columnas es menor o mayor que algún valor.

Por ejemplo, el siguiente código devuelve solo las filas donde las ventas en la región A son mayores que las ventas en la región B:

#add nueva columna para representar la diferencia entre las ventas B y las ventas A 
df [' diff '] = df [' B_sales '] - df [' A_sales ']

#muestra las filas donde las ventas en la región A son mayores que las ventas en la región B
 df [df [' diff '] < 0 ]


        período A_ventas B_dif.
6 7 19 17-2
7 8 24 23-1

Recursos adicionales

Pandas: cómo encontrar la diferencia entre dos filas
Pandas: cómo agrupar y agregar por múltiples columnas

  • 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

Introducción Supongamos que tenemos una matriz A de 2 × 2 , que tiene 2 filas y 2 columnas: Supongamos…
statologos comunidad-2

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

You have Successfully Subscribed!