【发布时间】:2021-05-23 11:44:30
【问题描述】:
我有以下数据框,
data = pd.read_csv('sample.csv', sep=',')
我需要搜索集合中出现的项集的频率。例如:
itemsets = {(143, 157), (143, 166), (175, 178), (175, 190)}
这应该搜索数据帧中每个元组的频率(尝试实现 Apriori 算法)。我在如何单独处理数据框中的元组以及搜索元组而不是数据中的单个条目时遇到了麻烦。
Update-1
例如数据框是这样的:
39, 120, 124, 205, 401, 581, 704, 814, 825, 834
35, 39, 205, 712, 733, 759, 854, 950
39, 422, 449, 704, 825, 857, 895, 937, 954, 964
Update-2
仅当元组中的所有值都存在于特定行中时,函数才应增加元组的计数。
例如,如果我搜索 (39, 205),它应该返回频率 2,因为其中 2 行同时包含 39 和 205(第一行和第二行)。
【问题讨论】:
-
数据框是否包含元组?
-
不,这是一个简单的数据框。我添加了一个例子来说明清楚。请看一看。
-
是不是像在给定的数据框中搜索元组的两项的出现一样?
-
@Comsavvy 是的,我想搜索并返回给定数据框中集合中存在的所有元组的总出现次数。
-
让我为此工作一个函数,我会回复你的。我现在把问题格式化了,请接受。
标签: python data-mining apriori