(("plosViews", ()), (2009, 9), "PLOS views"), (("pmcViews", ()), (2011, 6), "PMC views"), (("maxCitations", ()), (2009, 3), "Citations") ] attributeNames = map(lambda x: x[0][0], attributeList) attributePrintNames = map(lambda x: x[2], attributeList) calls = map(lambda x: x[0], attributeList) stats = [] for ind, attr in zip(range(0, len(attributeList)), attributeList): call = attr[0] lowerBound = attr[1] attName = attr[0][0] valuesForMetric = filter(lambda x: x != None, map(lambda doc: applyCall(doc, call), SimpleDoc.getallBetween(lowerBound, None) )) minV, maxV, meanV, std = min(valuesForMetric), max(valuesForMetric), np.mean(valuesForMetric), np.std(valuesForMetric) stats.append((attName, call, meanV, std, len(valuesForMetric))) print attName + "\t" + "\t".join(map(lambda x: str(x), [minV, maxV, meanV, std])) statValues = [] for stat in stats: name = stat[0] call = stat[1] mean = stat[2] std = stat[3] numValues = stat[4]
def getAttributeValueMatrix(docs, callList): return map(lambda doc: map(lambda call: applyCall(doc, call), callList), docs)