Pandas DataFrame DataFrame.sum() Función

Suraj Joshi 30 enero 2023
  1. La sintaxis de pandas.DataFrame.sum():
  2. Códigos de ejemplo: DataFrame.sum() Método para calcular la suma a lo largo del eje de la columna
  3. Códigos de ejemplo: DataFrame.sum() Método para encontrar la suma a lo largo del eje de la fila
  4. Códigos de ejemplo: DataFrame.sum() Método para encontrar la suma ignorando los valores NaN
  5. Códigos de ejemplo: Ponga min_count en DataFrame.sum() Método
Pandas DataFrame DataFrame.sum() Función

La función de los pandas pitón DataFrame.sum() es calcular la suma de valores del objeto DataFrame sobre el eje especificado.

La sintaxis de pandas.DataFrame.sum():

DataFrame.sum(
    axis=None, skipna=None, level=None, numeric_only=None, min_count=0, **kwargs
)

Parámetros

axis encontrar la suma a lo largo de la fila (axis=0) o columna (axis=1)
skipna Booleana. Excluir los valores NaN (skipna=True) o incluir los valores NaN (skipna=False)
level Cuenta junto con el nivel particular si el eje es Multi-Index.
numeric_only Booleana. Para numeric_only = True, incluye sólo las columnas float, int y boolean.
min_count Entero. Número mínimo de valores no-NaN para calcular la suma. Si esta condición no se cumple, la suma será NaN.
**kwargs Argumentos de palabras clave adicionales a la función.

Retorna

Si no se especifica el level, devuelve Series de la suma de los valores del eje solicitado, si no, devuelve DataFrame de los valores de la suma.

Códigos de ejemplo: DataFrame.sum() Método para calcular la suma a lo largo del eje de la columna

import pandas as pd

df = pd.DataFrame({'X': 
                   [1,2,3,4,5], 
                   'Y': [1, 2, 3,4,5], 
                   'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)

sums=df.sum()
print("Column-wise Sum:")
print(sums)

Producción:

DataFrame:
   X  Y  Z
0  1  1  3
1  2  2  4
2  3  3  5
3  4  4  6
4  5  5  3
Column-wise Sum:
X    15
Y    15
Z    21
dtype: int64

Calcula la suma de todas las columnas X, Y y Z y finalmente devuelve un objeto Series con la suma de cada columna.

Para encontrar la suma de una columna particular de DataFrame en Pandas, necesitas llamar a la función sum() sólo para esa columna.

import pandas as pd

df = pd.DataFrame({'X': 
                   [1,2,3,4,5], 
                   'Y': [1, 2, 3,4,5], 
                   'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)

sums=df["Z"].sum()
print("Sum of values of Z-column:")
print(sums)

Producción:

DataFrame:
   X  Y  Z
0  1  1  3
1  2  2  4
2  3  3  5
3  4  4  6
4  5  5  3
Sum of values of Z-column:
21

Sólo da la suma de los valores de la columna Z de DataFrame.

Códigos de ejemplo: DataFrame.sum() Método para encontrar la suma a lo largo del eje de la fila

import pandas as pd

df = pd.DataFrame({'X': 
                   [1,2,3,4,5], 
                   'Y': [1, 2, 3,4,5], 
                   'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)

sums=df.sum(axis=1)
print("Row-wise sum:")
print(sums)

Producción:

DataFrame:
   X  Y  Z
0  1  1  3
1  2  2  4
2  3  3  5
3  4  4  6
4  5  5  3
Row-wise sum:
0     5
1     8
2    11
3    14
4    13
dtype: int64

Calcula la suma de todas las filas y finalmente devuelve un objeto Series con la suma de cada fila.

Para encontrar la suma de una fila particular de DataFrame en Pandas, necesitas llamar a la función sum() para esa fila específica solamente.


import pandas as pd

df = pd.DataFrame({'X': 
                   [1,2,3,4,5], 
                   'Y': [1, 2, 3,4,5], 
                   'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)

sum_3=df.iloc[[2]].sum(axis=1)
print("Sum of values of 3rd Row:")
print(sum_3)

Producción:

DataFrame:
   X  Y  Z
0  1  1  3
1  2  2  4
2  3  3  5
3  4  4  6
4  5  5  3
Sum of values of 3rd Row:
2    11
dtype: int64

Sólo da la suma de los valores de la 3ª fila de DataFrame.

Usa el método iloc para seleccionar filas basadas en el índice.

Códigos de ejemplo: DataFrame.sum() Método para encontrar la suma ignorando los valores NaN

Usa el valor por defecto del parámetro skipna, es decir, skipna=True para encontrar la suma de DataFrame a lo largo del eje especificado, ignorando los valores NaN.

import pandas as pd
df = pd.DataFrame({'X': 
                   [1,None,3,4,5], 
                   'Y': [1, None, 3,None,5], 
                   'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)

sums=df.sum()
print("Column-wise Sum:")
print(sums)

Producción:

DataFrame:
     X    Y  Z
0  1.0  1.0  3
1  NaN  NaN  4
2  3.0  3.0  5
3  4.0  NaN  6
4  5.0  5.0  3
Column-wise Sum:
X    13.0
Y     9.0
Z    21.0
dtype: float64

Si estableces skipna=True, obtendrás valores NaN de las sumas si el DataFrame tiene valores NaN.


import pandas as pd

df = pd.DataFrame({'X': 
                   [1,None,3,4,5], 
                   'Y': [1, None, 3,None,5], 
                   'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)

sums=df.sum(skipna=False)
print("Column-wise Sum:")
print(sums)

Producción:

DataFrame:
     X    Y  Z
0  1.0  1.0  3
1  NaN  NaN  4
2  3.0  3.0  5
3  4.0  NaN  6
4  5.0  5.0  3
Column-wise Sum:
X     NaN
Y     NaN
Z    21.0
dtype: float64

Aquí, obtienes el valor NaN de la suma de las columnas X y Y ya que ambas tienen los valores NaN en ellas.

Códigos de ejemplo: Ponga min_count en DataFrame.sum() Método

import pandas as pd

df = pd.DataFrame({'X': 
                   [1,None,3,4,5], 
                   'Y': [1, None, 3,None,5], 
                   'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)

sums=df.sum(min_count=4)
print("Column-wise Sum:")
print(sums)

Producción:

DataFrame:
     X    Y  Z
0  1.0  1.0  3
1  NaN  NaN  4
2  3.0  3.0  5
3  4.0  NaN  6
4  5.0  5.0  3
Column-wise Sum:
X    13.0
Y     NaN
Z    21.0
dtype: float64

Aquí, se obtiene el valor NaN para la suma de la columna Y ya que la columna Y sólo tiene valores 3 no-NaN, que es menor que el valor del parámetro min_count.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artículo relacionado - Pandas DataFrame