我有以下客户互动的数据
customer interacted
c1 i1
c1 i2
c1 i1
c2 i3
c2 i1
我希望将此数据帧转换为另一个数据帧,其中一列是客户,第二列是存储交互历史的字典。
第二个df应该如下所示
customer interhist
c1 {'i1': 2, 'i2': 1}
c2 {'i3':1, 'i1':1}
发布于 2016-02-16 04:21:37
对于这种类型的问题,collections
模块中的defaultdict
和Counter
类非常有用。您可以尝试执行以下操作:
from collections import defaultdict, Counter
data_map = defaultdict(Counter)
for line in your_data_source:
customer, interacted = line.split()
data_map[customer][interacted] += 1
这将为您提供一个将客户映射到另一个字典的字典,该字典将客户的交互映射到一个整数。
https://stackoverflow.com/questions/35423432
复制相似问题