同一组中的总和和列表

2024-09-27 18:19:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做一个简单的变量,在这里我同时做dfu日期和dfu总和。有可能吗? 我的意思是,我需要所有单元格的总和,但对于'Date',我需要一个数组(list)

import datetime
import pandas as pd
df = pd.read_csv('global.csv')
df_dates = df.groupby(['Io Id'])['Date'].apply(list)
df_sum = df.groupby(['Advertiser ID', 'Campaign Id', 'C Goal', 'C Goal KPI', 'C Goal KPI Value', 'Insertion Order', 'Io Id', 'IO Pacing', 'IO Pacing Rate', 'IO Pacing Amount', 'IO Goal Type', 'IO Goal Value', 'IO Budget Type', 'IO_Bud_Imp', 'IO_Bud_Start', 'IO_Bud_End'])['Impressions', 'Clicks', 'Click Rate (CTR)', 'Total Conversions', 'Post-Click Conversions', 'Post-View Conversions', 'Revenue (Adv Currency)'].sum()

df_dates = df_dates.to_frame()
df_first = pd.merge(df_dates, df_sum, on='Io Id')

Tags: ioiddfdatelistpddatessum
1条回答
网友
1楼 · 发布于 2024-09-27 18:19:14

尝试将agg与字典一起使用,了解如何聚合每一列:

创建要求和的列列表:

collist = ['Impressions', 'Clicks', 'Click Rate (CTR)', 'Total Conversions', 'Post-Click Conversions', 'Post-View Conversions', 'Revenue (Adv Currency)']

从以下列表创建词典:

dsum = {i:'sum' for i in collist}

现在用函数列表将“Date”添加到此词典

dsum['Date'] = list

现在,将groupby与agg一起使用:

collist.append('Date')
df.groupby(['Advertiser ID', 'Campaign Id', 'C Goal', 'C Goal KPI', 
            'C Goal KPI Value', 'Insertion Order', 'Io Id', 'IO Pacing', 
            'IO Pacing Rate', 'IO Pacing Amount', 'IO Goal Type', 
            'IO Goal Value', 'IO Budget Type', 'IO_Bud_Imp', 'IO_Bud_Start', 
            'IO_Bud_End'])[collist].agg(dsum)

相关问题 更多 >

    热门问题