Columna de suma de pandas

Columna de suma de pandas

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

El 'DataFrame.Sum () 'La función 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 calcular la suma de DataFrame ignorando los valores faltantes.

Sintaxis

pandas.DataFrame_Object.Sum (axis = none, skipna = none, nivel = none, numeric_only = none, min_count = 0, ** kwargs)

Parámetros

  1. eje: columnas (1), índice (0)
  2. Skipna: Ignorar los valores de NA/NULL al calcular el resultado.
  3. nivel: Si el eje especificado es jerárquico (un múltiple andex), cuente a un nivel de índice particular antes de convertirse en una serie.
  4. solo numérico: Solo las columnas flotantes, int y booleanas son aceptables. Si ninguno, intente usarlo todo; Si no, solo datos numéricos. Para series, no implementadas.
  5. min_count: El número de valores posibles necesarios para completar la operación. El resultado será NA si hay menos valores que no sean presentes que Min_Count.

Devolver

DataFrame (si se especifica el nivel) o la serie.

Marco de datos

Para todos los ejemplos, utilizaremos el siguiente marco de datos 'Análisis'. Contiene 12 filas con 5 columnas.

importación de pandas
# Crear el marco de datos utilizando 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', 'nombre', 'puntos3', 'puntos1', 'puntos2'])
# Muestra DataFrame - Análisis
Impresión (análisis)

Producción

Nombre de identificación 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 Suryam 450 76 56
10 22 Suryam 40 0 ​​1
11 22 Suryam 12 45 0

Aquí, las columnas 'ID', 'Points3', 'Points2' y 'Points1' son numéricas, y se aseguran de que necesite cargar el marco de datos para todos los ejemplos que estamos discutiendo en este tutorial.

Escenario 1: Suma de todas las columnas

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

pandas.DataFrame_Object.suma()

Ejemplo

# Devuelve la suma de valores en todas las columnas
impresión (análisis.suma())

Producción

ID 264
Nombre Sravansravansravansivasivas Vavansivasahajasrav ..
Puntos3 3242
Puntos1 871
Puntos2 374

Explicación

Puede ver que se devuelve la suma de 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 ['columna'].suma()

Ejemplo

Devolvamos la suma de valores en las columnas 'Points1', 'Points2' y 'Points3' por separado.

# Devuelve la suma de valores en la columna de puntos1
Imprimir (análisis ['puntos1']].suma())
# Devuelve la suma de valores en la columna de puntos2
Imprimir (análisis ['puntos2']].suma())
# Devuelve la suma de valores en la columna de puntos3
Imprimir (análisis ['puntos3']].suma())

Producción

871
374
3242

Explicación

  1. La suma de valores en la columna Points1 es 871.
  2. La suma de valores en la columna Points2 es 374.
  3. La suma de valores en la columna Points3 es 3242.

Escenario 3: suma a través 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 [[columna/s ...]].suma (eje = 1)

Ejemplo

Devolvamos la suma de valores de 'puntos1', 'puntos2' y 'puntos3' en todas las filas y almacenan el resultado en la columna 'suma'.

# Devuelve la suma de valores en cada fila
Análisis ['sum'] = Análisis [['Puntos1', 'Points2', 'Points3']].suma (eje = 1)
Impresión (análisis)

Producción

nombre de identificación 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 Suryam 450 76 56 582
10 22 Suryam 40 0 ​​1 41
11 22 Suryam 12 45 0 57

Explicación

Ahora, la nueva columna - 'suma' posee la suma de tres puntos.

También podemos agregar a través de filas sin usar Sum (). Al usar el operador "+", podemos lograr la funcionalidad anterior.

Ejemplo

  1. Agregue valores en las columnas de puntos1 y puntos2 y almacene el resultado en el '2 agregados' columna.
  2. Agregue valores en las columnas de puntos1, puntos2 y puntos3 y almacene el resultado en '3 agregados' columna.
importación de pandas
# Crear el marco de datos utilizando 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', 'nombre', 'puntos3', 'puntos1', 'puntos2'])
# Agregar valores en las columnas de puntos1 y puntos2 y almacene el resultado en la columna '2 agregado'
Análisis ['2 agregado'] = análisis ['puntos1']+análisis ['puntos2']]
# Agregar valores en puntos1, puntos2 y puntos2Columns y almacene el resultado en la columna '3 agregado'
Análisis ['3 agregado'] = análisis ['puntos1']+análisis ['puntos2']+análisis ['puntos3']]
Impresión (análisis)

Producción

Nombre de identificación 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 Suryam 450 76 56 132 582
10 22 Suryam 40 0 ​​1 1 41
11 22 Suryam 12 45 0 45 57

Escenario 4: Sum () con GroupBy ()

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

pandas.DataFrame_Object.Groupby ('Grouping_Column').suma()

Ejemplo

Agrupe las filas basadas en la columna de nombre y devuelvamos la suma de valores en cada grupo para todas las columnas.

importación de pandas
# Crear el marco de datos utilizando 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', 'nombre', 'puntos3', 'puntos1', 'puntos2'])
# agrupe las filas basadas en la columna de nombre y la suma de retorno de los valores en cada grupo para todas las columnas
impresión (análisis.Groupby ('nombre').suma())

Producción

puntos de identificación3 puntos1 puntos2
nombre
Sahaja 20 120 1 67
Siva 63 900 520 168
Sravan 115 1720 229 82
Suryam 66 502 121 57

Explicación

Entonces hay 4 grupos en la columna de 'nombre'. Para cada grupo, se devuelve la suma de ID, puntos3, puntos1 y puntos2.

Conclusión

Intentamos enseñarle cómo calcular la suma a través de los marcos de datos utilizando el método Pandas Sum (). Hemos discutido la adición de valores en cuanto a fila y columna 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 marco de datos. Ahora, es posible que pueda sumar las columnas de DataFrame juntas o sumar los valores dentro de la columna DataFrame por usted mismo.