gpt4 book ai didi

python - 获取购买次数最多的前 10 件商品作为列表

转载 作者:行者123 更新时间:2023-12-04 08:27:14 24 4
gpt4 key购买 nike

我想获得列表中购买次数最多的商品。但此刻我只得到了数字的计数。我如何获得 itemids ?
我想要如下列表 [element 1, element 2, ...,element n-1, element n] .我如何获得前 10 名最常购买的商品?
我如何获得我购买的大部分商品?通过计算itemid出现的频率,出现最多的id就是购买次数最多的item。

import pandas as pd
d = {'userid': [0, 0, 0, 1, 2, 2, 3, 3, 4, 4, 4],
'itemid': [715, 845, 98, 12324, 85, 715, 2112, 85, 2112, 852, 102]}
df = pd.DataFrame(data=d)
print(df.head(10))

df_new = df.groupby('itemid').count().head(10) # get the top 10 products
print(df_new)

print(df_new.values.tolist())
现在输出
# the dataframe
userid itemid
0 0 715
1 0 845
2 0 98
3 1 12324
4 2 85
5 2 715
6 3 2112
7 3 85
8 4 2112
9 4 852

# the counts
userid
itemid
85 2
98 1
102 1
715 2
845 1
852 1
2112 2
12324 1

# the list
[[2], [1], [1], [2], [1], [1], [2], [1]]

# what I want
[85, 98, 102, 715, 845, 852, 2112, 12324]

最佳答案

按“userid”排序,然后返回前 10 名的索引

new_df = df.groupby('itemid').count().sort_values(by=['userid', 'itemid'], ascending=[False, True])
print(new_df[:10].index.tolist())
我们可以将用户 ID 重命名为 user_counts,在这种情况下我们按 user_counts 排序
top_10 = df.groupby('itemid').count().rename(columns = {"userid": "user_counts"}).sort_values(by=['user_counts', 'itemid'], ascending=[False, True])[:10].index.tolist()
print(top_10)

关于python - 获取购买次数最多的前 10 件商品作为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65201807/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com