real time web analytics

Columna de suma de pandas

Este artículo demostrará cómo sumar todas las columnas o columnas particulares en un DataFrame de Pandas usando Python. La función DataFrame.sum() se usará junto con algunos parámetros útiles en los numerosos ejemplos de este tutorial.

La función ‘dataframe.sum()’ en Pandas devuelve la suma total para el eje especificado. Si la entrada es un eje del índice, la función agrega los valores de cada columna individualmente. Luego hace lo mismo para cada columna, devolviendo una serie que almacena la suma de los datos/valores en cada columna. Además, admite el cálculo de la suma de DataFrame ignorando los valores faltantes.

Sintaxis

pandas.DataFrame_object.sum(eje = Ninguno, skipna = Ninguno, nivel = Ninguno, numeric_only = Ninguno, min_count = 0, **kwargs)

Parámetros

  1. eje: {columnas (1), índice (0)}
  2. skipna: Ignore los valores NA/null al calcular el resultado.
  3. nivel: Si el eje especificado es jerárquico (un índice múltiple), cuente hasta un nivel de índice particular antes de convertirlo en Serie.
  4. solo numérico: Solo se aceptan columnas flotantes, int y booleanas. Si ninguno, intente usar todo; si no, sólo datos numéricos. Para Serie, no implementado.
  5. min_count: El número de valores posibles requeridos para completar la operación. El resultado será NA si hay menos valores que no sean NA presentes que min_count.

Retorno

DataFrame (si se especifica el nivel) o Serie.

Marco de datos

Para todos los ejemplos, utilizaremos el siguiente DataFrame de ‘análisis’. Contiene 12 filas con 5 columnas.

importar pandas

# Crea el marco de datos usando listas

análisis = pandas.DataFrame([[23,‘sravan’,1000,34,56],
[23,‘sravan’,700,11,0],
[23,‘sravan’,20,4,2],
[21,‘siva’,400,32,45],
[21,‘siva’,100,456,78],
[23,‘sravan’,00,90,12],
[21,‘siva’,400,32,45],
[20,‘sahaja’,120,1,67],
[23,‘sravan’,00,90,12],
[22,‘suryam’,450,76,56],
[22,‘suryam’,40,0,1],
[22,‘suryam’,12,45,0]

],columnas=[‘id’,‘name’,‘points3’,‘points1’,‘points2’])

# Mostrar el DataFrame – análisis

imprimir(análisis)

Producción

identificación nombre puntos3 puntos1 puntos2
0 23 Sravan 1000 34 56
1 23 Sravan 700 11 0
2 23 Sravan 20 4 2
3 21 Siva 400 32 45
4 21 Siva 100 456 78
5 23 Sravan 0 90 12
6 21 Siva 400 32 45
7 20 sahaja 120 1 67
8 23 Sravan 0 90 12
9 22 suriam 450 76 56
10 22 suriam 40 0 1
11 22 suriam 12 45 0

Aquí, las columnas ‘id’, ‘points3’, ‘points2’ y ‘points1’ son numéricas y asegúrese de que necesita cargar el DataFrame para todos los ejemplos que estamos discutiendo en este tutorial.

Escenario 1: Suma de todas las columnas

Podemos aplicar sum() directamente en el DataFrame para devolver la suma de valores en cada columna.

pandas.DataFrame_object.sum()

Ejemplo

# Devuelve la suma de los valores en todas las columnas

imprimir(análisis.sum())

Producción

identificación 264
nombre sravansravansravansivasivasravansivasahajasrav…
puntos3 3242
puntos1 871
puntos2 374

Explicación

Puede ver que se devuelve la suma de los valores en cada columna.

Escenario 2: Suma de columna particular

Si desea devolver la suma de valores en una columna en particular, debe especificar el nombre de la columna y el objeto DataFrame.

pandas.DataFrame_object[‘column’].suma()

Ejemplo

Devolvamos la suma de los valores en las columnas ‘puntos1’, ‘puntos2’ y ‘puntos3’ por separado.

# Devuelve la suma de los valores en la columna puntos1

imprimir(análisis[‘points1’].suma())

# Devuelve la suma de los valores en la columna puntos2
imprimir(análisis[‘points2’].suma())

# Devuelve la suma de los valores en la columna puntos3
imprimir(análisis[‘points3’].suma())

Producción

Explicación

  1. La suma de los valores en la columna puntos1 es 871.
  2. La suma de los valores en la columna puntos2 es 374.
  3. La suma de los valores en la columna puntos3 es 3242.

Escenario 3: suma de filas

Si desea devolver la suma de valores en cada fila, debe especificar el parámetro del eje en la función sum() y establecerlo en 1.

pandas.DataFrame_object[[column/s…]].suma(eje=1)

Ejemplo

Devolvamos la suma de los valores de ‘puntos1’, ‘puntos2’ y ‘puntos3’ en todas las filas y almacenemos el resultado en la columna ‘SUMA’.

# Devuelve la suma de valores en cada fila

análisis[‘SUM’]=análisis[[‘points1’,‘points2’,‘points3’]].suma(eje=1)

imprimir(análisis)

Producción

identificación nombre puntos3 puntos1 puntos2 SUMA
0 23 Sravan 1000 34 56 1090
1 23 Sravan 700 11 0 711
2 23 Sravan 20 4 2 26
3 21 Siva 400 32 45 477
4 21 Siva 100 456 78 634
5 23 Sravan 0 90 12 102
6 21 Siva 400 32 45 477
7 20 sahaja 120 1 67 188
8 23 Sravan 0 90 12 102
9 22 suriam 450 76 56 582
10 22 suriam 40 0 1 41
11 22 suriam 12 45 0 57

Explicación

Ahora, la nueva columna – ‘SUMA’ contiene la suma de tres puntos.

También podemos sumar entre filas sin usar sum(). Al usar el operador “+”, podemos lograr la funcionalidad anterior.

Ejemplo

  1. Agregue valores en las columnas puntos1 y puntos2 y almacene el resultado en el ‘2 Añadido‘ columna.
  2. Agregue valores en las columnas puntos1, puntos2 y puntos3 y almacene el resultado en el ‘3 Añadido‘ columna.
importar pandas

# Crea el marco de datos usando listas

análisis = pandas.DataFrame([[23,‘sravan’,1000,34,56],
[23,‘sravan’,700,11,0],
[23,‘sravan’,20,4,2],
[21,‘siva’,400,32,45],
[21,‘siva’,100,456,78],
[23,‘sravan’,00,90,12],
[21,‘siva’,400,32,45],
[20,‘sahaja’,120,1,67],
[23,‘sravan’,00,90,12],
[22,‘suryam’,450,76,56],
[22,‘suryam’,40,0,1],
[22,‘suryam’,12,45,0]

],columnas=[‘id’,‘name’,‘points3’,‘points1’,‘points2’])

# Agregue valores en las columnas puntos1 y puntos2 y almacene el resultado en la columna ‘2 agregados’
análisis[‘2 Added’]=análisis[‘points1’]+análisis[‘points2’]

# Agregue valores en las columnas puntos1, puntos2 y puntos2 y almacene el resultado en la columna ‘3 agregados’
análisis[‘3 Added’]=análisis[‘points1’]+análisis[‘points2’]+análisis[‘points3’]

imprimir(análisis)

Producción

identificación nombre puntos3 puntos1 puntos2 2 Agregado 3 Agregado
0 23 Sravan 1000 34 56 90 1090
1 23 Sravan 700 11 0 11 711
2 23 Sravan 20 4 2 6 26
3 21 Siva 400 32 45 77 477
4 21 Siva 100 456 78 534 634
5 23 Sravan 0 90 12 102 102
6 21 Siva 400 32 45 77 477
7 20 sahaja 120 1 67 68 188
8 23 Sravan 0 90 12 102 102
9 22 suriam 450 76 56 132 582
10 22 suriam 40 0 1 1 41
11 22 suriam 12 45 0 45 57

Escenario 4: sum() con groupby()

Si desea devolver la suma de valores para grupos individuales, debe usar groupby() con sum(). Entonces, groupby() se usa para agrupar los valores de columna en una columna en particular, y sum() devolverá la suma en cada grupo.

pandas.DataFrame_object.groupby(‘columna_agrupación’).suma()

Ejemplo

Agrupemos las filas en función de la columna de nombre y devolvamos la suma de los valores de cada grupo para todas las columnas.

importar pandas

# Crea el marco de datos usando listas

análisis = pandas.DataFrame([[23,‘sravan’,1000,34,56],
[23,‘sravan’,700,11,0],
[23,‘sravan’,20,4,2],
[21,‘siva’,400,32,45],
[21,‘siva’,100,456,78],
[23,‘sravan’,00,90,12],
[21,‘siva’,400,32,45],
[20,‘sahaja’,120,1,67],
[23,‘sravan’,00,90,12],
[22,‘suryam’,450,76,56],
[22,‘suryam’,40,0,1],
[22,‘suryam’,12,45,0]

],columnas=[‘id’,‘name’,‘points3’,‘points1’,‘points2’])

# agrupar las filas según la columna de nombre y devolver la suma de valores en cada grupo para todas las columnas
imprimir(análisis.groupby(‘nombre’).suma())

Producción

identificación puntos3 puntos1 puntos2
nombre
sahaja 20 120 1 67
Siva 63 900 520 168
Sravan 115 1720 229 82
suriam 66 502 121 57

Explicación

Así que hay 4 grupos en la columna ‘nombre’. Para cada grupo, se devuelve la suma de id, puntos3, puntos1 y puntos2.

Tabla de contenido

Conclusión

Tratamos de enseñarle cómo calcular la suma a través de DataFrames usando el método pandas sum(). Hemos discutido la suma de valores por filas y por columnas en los ejemplos de esta publicación. Además, aprendió cómo agregar columnas condicionalmente y cómo sumar los valores después de agrupar la columna del DataFrame. Ahora, puede sumar las columnas del DataFrame juntas o sumar los valores dentro de la columna del DataFrame usted mismo.

Leave a Comment