我创建了一个datatable框架,如下所示
DT_EX = dt.Frame({'cid':[1,2,1,2,3,2,4,2,4,5],
'cust_life_cycle':['Lead','Active','Lead','Active','Inactive','Lead','Active','Lead','Inactive','Lead']})
在这里,我有三个独特的客户生命周期,每一个都是
DT_EX[:, count(), by(f.cust_life_cycle)]
除此之外,我还有五个客户ID,这些计数如下
DT_EX[:, count(), by(f.cid)]
现在我想看看每个客户生命周期中存在多少个唯一的客户ID
DT_EX[:, {'unique_cids':dt.unique(f.cid)}, by(f.cust_life_cycle)]
它应该显示为主要客户已获得3个唯一客户ID,如(1,2,5),活动用户已获得2个唯一客户ID(2,4),依此类推
我没能按预期得到它,你能告诉我怎么修理吗
仅供参考:我已经尝试在R data.table frame上复制相同的数据,它正在工作
DT_EX[, uniqueN(cid), by=cust_life_cycle]
dt.unique
函数尚未按组应用。因此,实现所需的一种方法是首先按lifecycle+customerID进行分组,然后在第二步中仅按lifecycle重新分组:@pasha
我还为我的实践创建了一个自定义函数,如下所示
输出:
相关问题 更多 >
编程相关推荐