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
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
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
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.