我在文本文件中有两列。我把它们读成两个单独的列表。我想要做的是计算每对的出现次数并根据它建立关联规则。
示例:
colA = [a,b,c,d,...]
colB = [c,y,d,e,...]
我到目前为止只是将数据读入两个列表,但是计算出现次数和构建规则的最佳方法是什么?
代码:
pred = []
succ = []
for line in open('arsample.txt'):
lst = line.split('\t')
pred.append(int(lst[0]))
succ.append(int(lst[1]))
规则看起来像这样,并按降序排序:
P S Probability
---------------------
a > c count(a>c)/n
... ...
答案 0 :(得分:0)
您可以使用dictionary
创建映射:
mapping = {}
for key in colA:
mapping[key] = colB.index(key)
要计算出现次数,只需使用.count()
:
colA.count('a')
请注意,如果colB
包含两个具有相同名称的元素,映射将会中断。这是因为你试图在两个非唯一集合之间建立一个双射,这是行不通的。可以把它想象为从x^2
恢复输入数字。你只是不知道。
答案 1 :(得分:0)
查看集:
http://docs.python.org/library/sets.html
他们允许这样做:
>>> a = [1,2,2,5,4,5,4,2,1,3]
>>> set(a)
set([1, 2, 3, 4, 5])
>>>
所以你必须在字符串列表中构建对,我猜......
希望它可以提供帮助。