【问题标题】:Exporting .csv after groupby pandas function在 groupby pandas 函数之后导出 .csv
【发布时间】:2019-12-04 22:26:06
【问题描述】:

m starting my studies in python and pandas and, at the moment, Im 尝试创建一个项目,我需要在 .csv 中导出以下内容

我创建了一个如下所示的 groupby 函数:

df2 = result.groupby(['Sub ID','Date','Campaign Name','Source',]).agg({'Clicks': 'sum', 'Conversions': 'sum', 'Views': 'sum', 'Cost': 'sum', 'Net Profit': 'sum', 'Revenue': 'sum', 'Profit': 'sum'})

但是,当我导出到 .csv 时,只会导出点击次数、转化次数、浏览次数、成本、净利润、收入和利润的列,而不是第一个列。有人知道怎么解决吗?

谢谢

【问题讨论】:

  • 能否包含用于写入 csv 的代码?
  • df2 = result.groupby(['Sub ID','Date','Campaign Name','Source',],as_index=False).agg({'Clicks': 'sum', 'Conversions': 'sum', 'Views': 'sum', 'Cost': 'sum', 'Net Profit': 'sum', 'Revenue': 'sum', 'Profit': 'sum'}) 和使用to_csv .. ?
  • 我假设您在导出时使用ignore_index=True,只需将其设置为False 或不包含它。
  • 是的,我使用的是 index=True。我改为 false 并且它起作用了。现在是这样的:df2.to_csv("df2.csv", index=False, encoding='utf-8-sig')

标签: python pandas pandas-groupby


【解决方案1】:

您的聚合可以以更简洁的方式完成。这应该可以解决您的问题:

target_cols = ['Clicks', 'Conversions', 'Views', 'Cost', 'Net Profit', 'Revenue', 'Profit']
df2 = result.groupby(['Sub ID','Date','Campaign Name','Source',])[target_cols].sum()
df.to_csv(desired_path)

【讨论】:

  • 认为你的意思是sum
  • 谢谢你,这看起来更容易更干净
  • 没有问题。如果这回答了您的问题,请投票/接受。
猜你喜欢
  • 2020-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-18
  • 2020-01-26
  • 2022-01-01
  • 2021-10-04
  • 2015-02-13
相关资源
最近更新 更多