Python:格式化总计以显示每行的不同公式,而不仅仅是总计

r3i60tvu  于 2023-03-04  发布在  Python
关注(0)|答案(1)|浏览(115)

我使用公式和grouped by函数创建了一个包含不同行的大型数据集

# Create new column "iCPI" 
grouped_sums['iCPI'] = grouped_sums['Budget Delivered'] / grouped_sums['Incr Conversions']

# Create new column "iCVR" 
grouped_sums['iCVR%'] = (grouped_sums['Incr Conversions'] / grouped_sums['Clicks']) * 100

# Create new column "CPC" 
grouped_sums['CPC'] = grouped_sums['Budget Delivered'] / grouped_sums['Clicks']

# Create new column "CPM" 
grouped_sums['CPM'] = (grouped_sums['Budget Delivered'] / grouped_sums['Impressions']) * 1000

我使用代码grouped_sums.loc['Total'] = grouped_sums.sum()创建了一个名为Total的列,但是这只是所有列的总和,而没有考虑到我在上面创建的公式。我需要每个新列的总和来反映总和的公式(例如,对于iCPI,它需要是budget delivered的总和/Incr Conversions的总和
我的问题是输出,因为我有显示iCPI和其他指标的列。但是,对于总输出,iCPI只取所有iCPI值的总和。下面是我看到的结果:
Total Output that sums all individual values

uyhoqukh

uyhoqukh1#

我不完全理解你的问题,但我还是尽力帮助你。

  • 例如,对于iCPI,它需要是交付的预算总额/增量转换总额 *
# Create new column "iCPI" 
grouped_sums['iCPI'] = grouped_sums['Budget Delivered'].sum() / grouped_sums['Incr Conversions'].sum()

在我看来,你需要另一个数据框,只显示转换率和其他论坛,你需要的。 Package 在一个单一的数据框可能会混淆。如果你需要导出一个excel显示给销售或业务,尝试把 grouped_sums 在一个工作表中,以便每个组的细节可以看到。然后创建另一个工作表 * 公式 * 与您需要的总数:
所以类似的东西

# Create a new column "iCPI" 
results['iCPI'] = grouped_sums['Budget Delivered'].sum() / grouped_sums['Incr Conversions'].sum()

最后,导出所有:

with pd.ExcelWriter('fancy_report_for_business.xlsx') as writer:
    grouped_sums.to_excel(writer, index=False, sheet_name='grouped_sums')
    results.to_excel(writer, sheet_name='Formulas')

我希望这能有所帮助。以防万一,试着在评论中解释你的需要。
如果我的答案是正确的,请不要忘记投赞成票或接受

相关问题