es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Función de agregación de Python

Necesito modificar mi código:

db_profit_platform=db[[‘Source’,’Device’,’Country’,’Profit’]]
db_profit_final=db_profit_platform.groupby([‘Source’,’Device’,’Country’])[‘Profit’].apply(sum).reset_index()

Ahora necesito agregar Bid y obtener la oferta promedio después de agruparlos (diferentes agregaciones para diferentes columnas):
para obtener: Source Device Country SumProfit Oferta promedio

¿Cómo puedo hacerlo? (y tal vez necesite más agregaciones) Gracias

Tags:  ,

Answer

  1. Avatar for davy.ai

    Puede modificar el código existente para incluir la nueva agregación utilizando lo siguiente:

    db_profit_platform=db[['Source','Device','Country','Profit','Bid']]
    db_profit_final=db_profit_platform.groupby(['Source','Device','Country']).agg({'Profit':'sum','Bid':'mean'}).reset_index()
    db_profit_final.columns = ['Source', 'Device', 'Country', 'SumProfit', 'AverageBid']
    

    Aquí, agregamos la columna Bid a la declaración groupby y utilizamos la función agg() para especificar la agregación deseada para cada columna. Luego, renombramos las columnas para que coincidan con la salida deseada.

    Para agregar más agregaciones, simplemente puede agregar más entradas a la función agg() con el nombre de columna deseado y la función de agregación. Por ejemplo, para incluir también la oferta máxima, puede modificar el código de la siguiente manera:

    db_profit_platform=db[['Source','Device','Country','Profit','Bid']]
    db_profit_final=db_profit_platform.groupby(['Source','Device','Country']).agg({'Profit':'sum','Bid':['mean', 'max']}).reset_index()
    db_profit_final.columns = ['Source', 'Device', 'Country', 'SumProfit', 'AverageBid', 'MaxBid']
    

    Esto calculará tanto la oferta promedio como la oferta máxima y las incluirá en el dataframe resultante.

Comments are closed.