Hola a todos!
Hoy escribiré un pequeño post sobre python y cómo podemos realizar una suma condicionada con datos de Excel y usando Pandas.
Queda claro que podemos utilizar multitud de métodos para realizar esta tarea, el objetivo de este post es aprender a utilizar Pandas y una forma de sumar datos numéricos según una condición introducida.
Teniendo los siguientes datos:

Se pide obtener la suma de las cantidades de los usuarios entre 2 y 4 (ambos incluidos).
Para ello os propongo el siguiente código:
import pandas as pd
import xlsxwriter
#Importamos archivo excel
df = pd.read_excel(r"C:\Users\USUARIO\OneDrive\Documents-Segu\SUMAR_SI\SUMAR.xlsx",sheet_name='Hoja1')
count=0
total=0
workbook = xlsxwriter.Workbook(r'C:\Users\USUARIO\OneDrive\Documents-Segu\SUMAR_SI\RESULTADO_SUMA.xlsx')
worksheet = workbook.add_worksheet('Hoja1')
MiArray=['USUARIO', 'CANTIDAD']
#grabamos datos en archivo excel
for index, row in df.iterrows():
#indicamos condiciones para sumar
if row[0]>=2 and row[0]<=4:
total+=row[1]
worksheet.write(count+1, 0, row[0])
worksheet.write(count+1, 1, row[1])
print(row[0],row[1])
count += 1
print('Total',total)
worksheet.write(count+1, 0, "Total")
worksheet.write(count+1, 1, total)
#grabamos encabezados
for columna, item in enumerate(MiArray):
worksheet.write(0, columna, item)
workbook.close()
El resultado que vamos a obtener (lo he programado para visualizarlo en Visual Studio) es el siguiente:

El mismo resultado que vamos a encontrar en la salida en una hoja de Excel que genera el código.
Como indicaba, esto podríamos hacerlo de muchas formas e incluso más eficientes, por ejemplo con sentencias de SQL, etc. Pero me interesa hacerlo con loops en los que introducir condiciones específicas.
Y esto es todo, espero que os sea de utilidad!!
¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.
¡¡Muchas gracias!!
Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies