如何计算熊猫数据框中的频率项?

时间:2019-11-02 23:55:25

标签: python pandas

我有一个用户在多个会话中购买的商品的数据集,如下所示:

user session items quantity
1,    3,    item5,  2
1,    3,    item4,  1
1,    3,    item2,  1
1,    3,    item5,  2
1,    14,   item2,  1
1,    14,   item4,  1

2,     8,   item1,  1
2,     8,   item3,  1
2,     8,   item4,  3
2,     9,   item4,  3

我想将每个项目的频率放在一个数据框中为:

       item1     item2    item3   item4    item5
user1   NaN        2       NaN       2        4
user2    1        NaN       1        6       NaN

我尝试将每个用户的项目分组并计数(使用字典,{item2: 2, item4: 2, item5: 2}),但是(item5)的实际数量是4而不是2。

temp = set(sessions_bought_items)
    dic ={}
    for j in temp:
        dic[j] = sessions_bought_items.count(j)
        df = pd.DataFrame(dic,index = [user],columns = [dic_keys for dic_keys in dic.keys()])

我也尝试过pivot_table(values=quantity, index=user, columns=items),但是它采用(item4)3而不是6的重复值之一。 计算每个用户的最终商品数量时出现问题。

0 个答案:

没有答案