【问题标题】:Aggregate takes a long time [duplicate]聚合需要很长时间[重复]
【发布时间】:2017-01-26 09:20:06
【问题描述】:

我正在使用聚合函数进行聚合

aggregate(x=df$time,by=list(df$id),FUN=sum)

我的表有 1 亿条记录,需要数小时才能得出结果。如何减少此过程的时间。感谢您的帮助吗?

【问题讨论】:

标签: r dataframe data.table


【解决方案1】:

您是否使用data.table 库加载了初始表?这将节省大量时间,只需加载 100m 行。

DT <- fread("path/to/file.csv")

然后你可以相当快速地聚合:

DT[ , AggColumn := sum(time), by = id]

【讨论】:

  • 或者你可以直接使用dt &lt;- as.data.table(df)fread 很棒,但它对列的自动分类并不总是很漂亮。我经常使用 60M+ 行的 data.tables;聚合通常需要 。如果聚合逻辑很复杂,有时,最坏的情况是几分钟。
猜你喜欢
  • 2015-05-14
  • 1970-01-01
  • 1970-01-01
  • 2017-06-17
  • 1970-01-01
  • 2017-10-24
  • 1970-01-01
  • 1970-01-01
  • 2018-02-06
相关资源
最近更新 更多