def getMetricsDense(dfA, dfC):
    """
    Return metrics from binary list such as [0,1,0], [1,1,0] where the index should be the same events
    dfA are the samples where the antecedent are True or False
    dfC are the samples where the consequents are True or False 
    """
    support = dfA.sum()
    precision = (dfA & dfC).sum() / dfA.sum()  #P(A&C)/P(A)    or     P(C|A)
    recall = (dfA & dfC).sum() / dfC.sum()
    lift = precision / (dfC.sum() / len(dfA))
    fMeasure = 2 * (precision * recall / (precision + recall))
    return {
        "support": round(support, 2),
        "precision": round(precision, 2),
        "recall": round(recall, 2),
        "lift": round(lift, 2),
        "fMeasure": round(fMeasure, 2)
    }