我的数据集大约有60,000行。这是您没有唯一ID的采购订单。以下示例数据。
36 40 41 42 43 45 46
38 39 48 50 51 57
41 59 62
63 66 67 68
74 75 76 77
在上面的列表中,每个号码都是购买的商品。我需要以下内容:
答案 0 :(得分:3)
这应该这样做:
from collections import Counter
items = Counter()
with open('data_file.txt', 'r') as f:
for line in f:
items.update(line.split())
print("Total Unique Items: {0}".format(len(items)))
for item, count in items.most_common(5):
print("Item {0} was purchased {1} times".format(item, count))
是的,它很简短:)。
答案 1 :(得分:0)
假设您的数据集是csv文件或文本文件。
from collections import Counter
with open(path, "r") as fp:
raw = fp.readlines()
purchases = [item for line in raw for item in line.split()]
print "Unique ids: %s" %(len(set(purchases))
print "Most purchased ids:" %(",".join([ item[1] for item in Counter(purchases).most_common(5)]))
以上代码应该给出结果。
希望它有所帮助。
答案 2 :(得分:0)