如果我理解你的意思,对吗
你的数据框是这样的:
df = pd.DataFrame(data = [
["a", 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0],
["b", 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0],
["c", 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0],
["d", 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0],
["e", 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1],
["f", 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0],
])
df = df.rename(columns = {0:"name"}).set_index("name")
然后:
def exact_match(lst):
s = df[df.columns[df.loc[lst].sum(axis = 0) == len(lst)]].sum(axis = 0) == len(lst)
return len(s[s])
exact_match(["c","d"]) # output: 2