为datafram中的每个客户编号创建字典

2024-05-29 04:44:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下客户互动数据

customer  interacted  
c1           i1  
c1           i2  
c1           i1  
c2           i3  
c2           i1

我想将这个数据帧转换成另一个数据帧,其中一列是customer,第二列是一个存储交互历史的字典

第二个df应该是这样的

customer   interhist

    c1     {'i1': 2, 'i2': 1}  
    c2     {'i3':1, 'i1':1}

Tags: 数据df客户字典customer历史c2i3
1条回答
网友
1楼 · 发布于 2024-05-29 04:44:24

collections模块中的defaultdictCounter类对于这类问题非常有用。您可以尝试以下方法:

from collections import defaultdict, Counter

data_map = defaultdict(Counter)
for line in your_data_source:
    customer, interacted = line.split()
    data_map[customer][interacted] += 1

这将为您提供一个将客户映射到另一个字典的字典,该字典将他们的交互映射到一个整数

相关问题 更多 >

    热门问题