【发布时间】:2018-07-28 09:48:22
【问题描述】:
我正在研究数据集,这是我到现在为止写的。
import itertools
import csv
import numpy
def counter(x):
unique, counts = numpy.unique(result, return_counts=True)
list1= numpy.asarray((unique, counts)).T
return list1
def findsubsets(S,m):
return list(itertools.combinations(S, m))
sup=input("enter min support\n")
reader = csv.reader(open("test.csv", "rb"), delimiter=",")
X = list(reader)
result = numpy.array(X).astype("string")
print(result)
(m,n)=result.shape
list1=counter(result)
print("deleting items which have less support")
print(list1)
(a,b)=list1.shape
l=[]
for x in range(a):
a=int(list1[x][1])
sup1=int(sup)
if(a>=sup):
l.append(list1[x][0])
print"after deleting"
print(l)
print("making sets")
o=(findsubsets(l,2))
print(o)
print(X)
列表 o 有这些元组
[('Beer', 'Bread'), ('Beer', 'Coke'), ('Beer', 'Diaper'), ('Beer', 'Milk'), ('Bread', 'Coke'), ('Bread', 'Diaper'), ('Bread', 'Milk'), ('Coke', 'Diaper'), ('Coke', 'Milk'), ('Diaper', 'Milk')]
列表 X 有
[['Bread', 'Diaper', 'Beer', 'Eggs'], ['Milk', 'Diaper', 'Beer', 'Coke'], ['Bread', 'Milk', 'Diaper', 'Beer'], ['Bread', 'Milk', 'Diaper', 'Coke']]
我想检查 list-o 的每个元组是否真的在 list-X 中。
例如 beer, bread 是 list-o 的元组
啤酒,面包在列表-X 中出现了 2 次。我想返回计数 2。我该怎么做?
编辑 :
***********我是用集合做到的********
O = [('Beer', 'Bread'), ('Beer', 'Coke'), ('Beer', 'Diaper'), ('Beer', 'Milk'), ('Bread', 'Coke'), ('Bread', 'Diaper'), ('Bread', 'Milk'), ('Coke', 'Diaper'), ('Coke', 'Milk'), ('Diaper', 'Milk')]
X = [['Bread', 'Diaper', 'Beer', 'Eggs'], ['Milk', 'Diaper', 'Beer', 'Coke'], ['Bread', 'Milk', 'Diaper', 'Beer'], ['Bread', 'Milk', 'Diaper', 'Coke']]
dict = defaultdict(int)
for tuple in O:
for LST in X:
if set(tuple) <= set(LST):
dict[tuple] += 1
【问题讨论】:
-
什么语言,python? “比较”究竟如何?你尝试过什么,它到底有什么问题?
-
是的,它是 python。请看看我现在已经编辑了这个问题。 @jonrsharpe