Я создал рамку с данными следующим образом:
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)]
Наряду с этим, У меня есть пять идентификаторов клиентов, и это число равно
DT_EX[:,count(),by(f.cid)]
Теперь я хотел бы увидеть, сколько уникальных идентификаторов клиентов существует в каждом жизненном цикле клиента:
DT_EX[:,{'unique_cids':dt.unique(f.cid)},by(f.cust_life_cycle)]
Это должно показывать как ведущий клиент получил 3 уникальных идентификатора клиента, таких как (1,2,5), активный пользователь получил 2 уникальных идентификатора клиента (2,4) и т. д.
Я не мог получить его как ожидается, не могли бы вы дать мне знать, как это исправить?.
К вашему сведению: я пытался воспроизвести то же самое на фрейме с данными R, он работает.
DT_EX[,uniqueN(cid),by=cust_life_cycle]