我只是想获得与众不同的聚合。
我有此代码:
data_frame = data_frame.group_by(:job_id)
.aggregate(job_id: :max, bid_id: :count)
我想要这样的东西:
data_frame = data_frame.group_by(:job_id)
.aggregate(job_id: :max, bid_id: :distinct_count)
我知道还没有像这样实现的统计方法,还有其他方法吗?
我找到了一种执行此操作的方法:
data_frame = data_frame.group_by(:job_id)
.aggregate(job_id: :max,
bid_id: lambda{ |x| x.uniq.size })
或者也许更好:
data_frame = data_frame.group_by(:job_id)
.aggregate(job_id: :max,
bid_id: ->(x) { x.uniq.size })
我不确定这是否是正确的方法,但似乎可行。
This熊猫解决方案帮助了我。