Función Pandas Series.sum()
Series.sum()Es una función de Pandas utilizada para calcular la suma de todos los elementos de un Series. Es una de las funciones estadísticas más comunes en el análisis de datos y permite obtener rápidamente el total de datos numéricos.
Ya sea para calcular las ventas totales, el beneficio total o la cantidad total,sum()puede ayudarte a completarlo rápidamente. Es especialmente adecuado para escenarios como el procesamiento de datos financieros, informes estadísticos y análisis de datos de ventas.
Sintaxis básica y parámetros
sum()Es una función miembro del objeto Series, invocada directamente mediante el operador de punto.
Formato de sintaxis
Series.sum(axis=None, skipna=True, level=None, numeric_only=None, min_count=0, **kwargs)
Descripción de parámetros
| Parámetro | Tipo | Descripción | Valor predeterminado |
|---|---|---|---|
| axis | int | Especifica el eje. Series solo tiene una fila de datos; este parámetro existe principalmente para la compatibilidad con DataFrame. | None |
| skipna | bool | Si es True, omite los valores NaN al calcular; si es False, el resultado devolverá NaN si se encuentra un NaN. | True |
| level | int o str | Si Series es un índice de varios niveles (MultiIndex), especifica el nivel a calcular. | None |
| numeric_only | bool | Si es True, solo calcula sobre datos numéricos; de lo contrario, intentará convertir a valores numéricos. | False |
| min_count | int | El número mínimo de valores válidos requeridos para el cálculo. Si hay menos valores válidos que este número, devuelve NaN. | 0 |
Valor de retorno
- Tipo de retorno: numérico (
int、floatonumpy.nan) - Descripción: Devuelve la suma de todos los elementos del Series. Si todos los elementos son NaN (y skipna=True), devuelve 0.
Ejemplos
A través de una serie de ejemplos de simples a complejos, dominaremos por completoSeries.sum()el uso de la función.
Ejemplo 1: Uso básico - Calcular la suma de una lista numérica
La forma más básica de uso es crear un Series numérico y luego llamar asum()para calcular la suma.
Ejemplo
# Crear un Series que contiene cifras de ventas
# Simular los datos de ventas diarias de una semana
sales_data = pd.Series([1200, 1500, 1800, 900, 2100, 1600, 1350])
# Calcular las ventas totales
total_sales = sales_data.sum()
print("Ventas diarias:")
print(sales_data)
print()
print(f"Ventas totales: {total_sales}")
Resultado de la ejecución:
每日销售额: 0 1200 1 1500 2 1800 3 900 4 2100 5 1600 6 1350 dtype: int64 总销售额:10450
Análisis del código:
- Se ha creado un Series con las ventas de 7 días, con tipo de datos entero.
sum()Simplemente recorre todos los elementos y los suma para obtener el total 10450.
Ejemplo 2: Manejo de datos con valores faltantes
En los datos reales a menudo hay valores faltantes,skipnael parámetro determina cómo manejar estos valores faltantes.
Ejemplo
import numpy as np
# Crear un Series con valores faltantes
# Simular la falta de datos de ventas en ciertas fechas
sales_with_nan = pd.Series([1200, 1500, np.nan, 1800, np.nan, 2100, 1600])
print("Datos de ventas con valores faltantes:")
print(sales_with_nan)
print()
# Por defecto skipna=True, omite NaN para calcular la suma
total_skipna = sales_with_nan.sum()
print(fSuma con skipna=True (predeterminado): {total_skipna})
# Establecer skipna=False; si encuentra NaN, devuelve NaN
total_no_skipna = sales_with_nan.sum(skipna=False)
print(fSuma con skipna=False: {total_no_skipna})
Resultado de la ejecución:
包含缺失值的销售数据: 0 1200.0 1 1500.0 2 NaN 3 1800.0 4 NaN 5 2100.0 6 1600.0 dtype: float64 skipna=True(默认)时的总和:8200.0 skipna=False 时的总和:nan
Análisis del código:
- Cuando
skipna=TrueCuando (valor predeterminado),sum()se omiten automáticamente los valores NaN y solo se calcula la suma de los valores válidos. - Proceso de cálculo: 1200 + 1500 + 1800 + 2100 + 1600 = 8200
- Cuando
skipna=Falsecuando, si existe un NaN, el resultado devolverá NaN; esto es útil en escenarios donde se necesita conocer claramente la integridad de los datos.
Ejemplo 3: Uso del parámetro min_count
min_countEl parámetro puede establecer el número mínimo de valores válidos necesarios para el cálculo, lo cual es útil cuando se necesita garantizar la suficiencia de los datos.
Ejemplo
import numpy as np
# Crear un Series con la mayoría de valores faltantes
sparse_data = pd.Series([np.nan, np.nan, 100, np.nan, np.nan])
print(Datos mayormente faltantes:)
print(sparse_data)
print()
# Por defecto min_count=0, calcula siempre que haya al menos 0 valores válidos
result_default = sparse_data.sum()
print(fResultado con min_count=0 (predeterminado): {result_default})
# Establecer min_count=3, se necesitan al menos 3 valores válidos para calcular
result_min_count = sparse_data.sum(min_count=3)
print(fResultado con min_count=3: {result_min_count})
# Establecer min_count=2, solo se necesitan 2 valores válidos
result_min_count_2 = sparse_data.sum(min_count=2)
print(fResultado con min_count=2: {result_min_count_2})
Resultado de la ejecución:
大部分缺失的数据: 0 NaN 1 NaN 2 100.0 3 NaN 4 NaN dtype: float64 min_count=0(默认)时的结果:100.0 min_count=3 时的结果:nan min_count=2 时的结果:100.0
Análisis del código:
- Este Series solo tiene 1 valor válido (100).
min_count=3Significa que se necesitan al menos 3 valores válidos para calcular, pero en realidad solo hay 1, por lo que devuelve NaN.min_count=2Significa que se necesitan al menos 2 valores válidos, pero hay 1 valor válido, no se cumple la condición, por lo que devuelve NaN.- Este parámetro es muy útil en escenarios de análisis con altos requisitos de calidad de datos, ya que ayuda a identificar situaciones con datos válidos insuficientes.
Ejemplo 4: Aplicación en el análisis de datos reales
Combinando escenarios empresariales reales, muestrasum()la aplicación típica de la función.
Ejemplo
# Crear un DataFrame con datos de ventas simulados
sales_data = pd.DataFrame({
'Mes': ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio'],
'Este de China': [12000, 15000, 18000, 16000, 14000, 17000],
'Norte de China': [10000, 11000, 13000, 12500, 11500, 14000],
'Sur de China': [15000, 17000, 19000, 18000, 16000, 20000]
})
print(Datos de ventas por región del primer semestre:)
print(sales_data)
print()
# Calcular las ventas totales del semestre para cada región
for region in ['Este de China', 'Norte de China', 'Sur de China']:
total = sales_data[region].sum()
print(f{region} ventas totales del semestre: {total} yuan)
print()
# Calcular las ventas totales de todas las regiones
total_all = sales_data[['Este de China', 'Norte de China', 'Sur de China']].sum().sum()
print(fVentas totales del semestre de todas las regiones: {total_all} yuan)
Resultado de la ejecución:
上半年各区域销售数据: 月份 华东区 华北区 华南区 0 1月 12000 10000 15000 1 2月 15000 11000 17000 2 3月 18000 13000 19000 3 4月 16000 12500 18000 4 5月 14000 11500 16000 5 6月 17000 14000 20000 华东区半年总销售额:92000 元 华北区半年总销售额:72000 元 华南区半年总销售额:105000 元 所有区域半年总销售额:269000 元
Notas
sum()Por defecto se omiten los valores NaN, lo cual es el comportamiento esperado en la mayoría de los casos.- Si necesitas sumar un Series que contenga datos no numéricos, primero debes limpiar los datos o usar el
numeric_only=Trueparámetro. min_countEl parámetro es muy útil en la validación de datos y el control de calidad, ya que ayuda a identificar situaciones con datos válidos insuficientes.- Para conjuntos de datos grandes,
sum()el rendimiento suele ser muy bueno, porque utiliza operaciones vectorizadas de NumPy en su núcleo.
Resumen
Series.sum()Es una de las funciones estadísticas más básicas y más utilizadas de Pandas. Sus principales características incluyen:
- Simple y fácil de usar, se invoca directamente mediante el operador de punto.
- Admite el manejo de valores faltantes a través del
skipnaparámetro. - Se puede a través del
min_countparámetro establecer el requisito mínimo de valores válidos. - Utiliza una implementación optimizada de NumPy en su núcleo, con alta eficiencia de cálculo.
En el análisis de datos real,sum()generalmente se usa junto con otras funciones de agregación (comomean()、count()etc.) para realizar un análisis estadístico integral de los datos.
Funciones comunes de Pandas