def calcNumericStats(self, features, feedback, field, count): total = 100.0 / count if count else 0 stat = QgsStatisticalSummary() for current, ft in enumerate(features): if feedback.isCanceled(): break stat.addVariant(ft[field.name()]) feedback.setProgress(int(current * total)) stat.finalize() cv = stat.stDev() / stat.mean() if stat.mean() != 0 else 0 results = { self.COUNT: stat.count(), self.UNIQUE: stat.variety(), self.EMPTY: stat.countMissing(), self.FILLED: count - stat.countMissing(), self.MIN: stat.min(), self.MAX: stat.max(), self.RANGE: stat.range(), self.SUM: stat.sum(), self.MEAN: stat.mean(), self.MEDIAN: stat.median(), self.STD_DEV: stat.stDev(), self.CV: cv, self.MINORITY: stat.minority(), self.MAJORITY: stat.majority(), self.FIRSTQUARTILE: stat.firstQuartile(), self.THIRDQUARTILE: stat.thirdQuartile(), self.IQR: stat.interQuartileRange() } data = [] data.append(self.tr('Count: {}').format(stat.count())) data.append(self.tr('Unique values: {}').format(stat.variety())) data.append( self.tr('NULL (missing) values: {}').format(stat.countMissing())) data.append(self.tr('Minimum value: {}').format(stat.min())) data.append(self.tr('Maximum value: {}').format(stat.max())) data.append(self.tr('Range: {}').format(stat.range())) data.append(self.tr('Sum: {}').format(stat.sum())) data.append(self.tr('Mean value: {}').format(stat.mean())) data.append(self.tr('Median value: {}').format(stat.median())) data.append(self.tr('Standard deviation: {}').format(stat.stDev())) data.append(self.tr('Coefficient of Variation: {}').format(cv)) data.append( self.tr('Minority (rarest occurring value): {}').format( stat.minority())) data.append( self.tr('Majority (most frequently occurring value): {}').format( stat.majority())) data.append(self.tr('First quartile: {}').format(stat.firstQuartile())) data.append(self.tr('Third quartile: {}').format(stat.thirdQuartile())) data.append( self.tr('Interquartile Range (IQR): {}').format( stat.interQuartileRange())) return data, results
def calcNumericStats(self, features, progress, field): count = len(features) total = 100.0 / float(count) stat = QgsStatisticalSummary() for current, ft in enumerate(features): stat.addVariant(ft[field.name()]) progress.setPercentage(int(current * total)) stat.finalize() cv = stat.stDev() / stat.mean() if stat.mean() != 0 else 0 self.setOutputValue(self.COUNT, stat.count()) self.setOutputValue(self.UNIQUE, stat.variety()) self.setOutputValue(self.EMPTY, stat.countMissing()) self.setOutputValue(self.FILLED, count - stat.countMissing()) self.setOutputValue(self.MIN, stat.min()) self.setOutputValue(self.MAX, stat.max()) self.setOutputValue(self.RANGE, stat.range()) self.setOutputValue(self.SUM, stat.sum()) self.setOutputValue(self.MEAN, stat.mean()) self.setOutputValue(self.MEDIAN, stat.median()) self.setOutputValue(self.STD_DEV, stat.stDev()) self.setOutputValue(self.CV, cv) self.setOutputValue(self.MINORITY, stat.minority()) self.setOutputValue(self.MAJORITY, stat.majority()) self.setOutputValue(self.FIRSTQUARTILE, stat.firstQuartile()) self.setOutputValue(self.THIRDQUARTILE, stat.thirdQuartile()) self.setOutputValue(self.IQR, stat.interQuartileRange()) data = [] data.append(self.tr('Count: {}').format(stat.count())) data.append(self.tr('Unique values: {}').format(stat.variety())) data.append( self.tr('NULL (missing) values: {}').format(stat.countMissing())) data.append(self.tr('Minimum value: {}').format(stat.min())) data.append(self.tr('Maximum value: {}').format(stat.max())) data.append(self.tr('Range: {}').format(stat.range())) data.append(self.tr('Sum: {}').format(stat.sum())) data.append(self.tr('Mean value: {}').format(stat.mean())) data.append(self.tr('Median value: {}').format(stat.median())) data.append(self.tr('Standard deviation: {}').format(stat.stDev())) data.append(self.tr('Coefficient of Variation: {}').format(cv)) data.append( self.tr('Minority (rarest occurring value): {}').format( stat.minority())) data.append( self.tr('Majority (most frequently occurring value): {}').format( stat.majority())) data.append(self.tr('First quartile: {}').format(stat.firstQuartile())) data.append(self.tr('Third quartile: {}').format(stat.thirdQuartile())) data.append( self.tr('Interquartile Range (IQR): {}').format( stat.interQuartileRange())) return data
def calcNumericStats(self, features, feedback, field, count): total = 100.0 / count if count else 0 stat = QgsStatisticalSummary() for current, ft in enumerate(features): if feedback.isCanceled(): break stat.addVariant(ft[field.name()]) feedback.setProgress(int(current * total)) stat.finalize() cv = stat.stDev() / stat.mean() if stat.mean() != 0 else 0 results = {self.COUNT: stat.count(), self.UNIQUE: stat.variety(), self.EMPTY: stat.countMissing(), self.FILLED: count - stat.countMissing(), self.MIN: stat.min(), self.MAX: stat.max(), self.RANGE: stat.range(), self.SUM: stat.sum(), self.MEAN: stat.mean(), self.MEDIAN: stat.median(), self.STD_DEV: stat.stDev(), self.CV: cv, self.MINORITY: stat.minority(), self.MAJORITY: stat.majority(), self.FIRSTQUARTILE: stat.firstQuartile(), self.THIRDQUARTILE: stat.thirdQuartile(), self.IQR: stat.interQuartileRange()} data = [] data.append(self.tr('Count: {}').format(stat.count())) data.append(self.tr('Unique values: {}').format(stat.variety())) data.append(self.tr('NULL (missing) values: {}').format(stat.countMissing())) data.append(self.tr('Minimum value: {}').format(stat.min())) data.append(self.tr('Maximum value: {}').format(stat.max())) data.append(self.tr('Range: {}').format(stat.range())) data.append(self.tr('Sum: {}').format(stat.sum())) data.append(self.tr('Mean value: {}').format(stat.mean())) data.append(self.tr('Median value: {}').format(stat.median())) data.append(self.tr('Standard deviation: {}').format(stat.stDev())) data.append(self.tr('Coefficient of Variation: {}').format(cv)) data.append(self.tr('Minority (rarest occurring value): {}').format(stat.minority())) data.append(self.tr('Majority (most frequently occurring value): {}').format(stat.majority())) data.append(self.tr('First quartile: {}').format(stat.firstQuartile())) data.append(self.tr('Third quartile: {}').format(stat.thirdQuartile())) data.append(self.tr('Interquartile Range (IQR): {}').format(stat.interQuartileRange())) return data, results
def calcNumericStats(self, values, sink, feedback): stat = QgsStatisticalSummary() total = 50.0 / len(values) if values else 0 current = 0 for cat, v in values.items(): if feedback.isCanceled(): break feedback.setProgress(int(current * total) + 50) stat.calculate(v) f = QgsFeature() f.setAttributes( list(cat) + [ stat.count(), stat.variety(), stat.min(), stat.max(), stat.range(), stat.sum(), stat.mean(), stat.median(), stat.stDev(), stat.minority(), stat.majority(), stat.firstQuartile(), stat.thirdQuartile(), stat.interQuartileRange() ]) sink.addFeature(f, QgsFeatureSink.FastInsert) current += 1
def calcNumericStats(self, values, sink, feedback): stat = QgsStatisticalSummary() total = 50.0 / len(values) if values else 0 current = 0 for cat, v in values.items(): if feedback.isCanceled(): break feedback.setProgress(int(current * total) + 50) stat.calculate(v) f = QgsFeature() f.setAttributes(list(cat) + [stat.count(), stat.variety(), stat.min(), stat.max(), stat.range(), stat.sum(), stat.mean(), stat.median(), stat.stDev(), stat.minority(), stat.majority(), stat.firstQuartile(), stat.thirdQuartile(), stat.interQuartileRange()]) sink.addFeature(f, QgsFeatureSink.FastInsert) current += 1
def calcNumericStats(self, features, progress, field): count = len(features) total = 100.0 / float(count) stat = QgsStatisticalSummary() for current, ft in enumerate(features): stat.addVariant(ft[field.name()]) progress.setPercentage(int(current * total)) stat.finalize() cv = stat.stDev() / stat.mean() if stat.mean() != 0 else 0 self.setOutputValue(self.COUNT, stat.count()) self.setOutputValue(self.UNIQUE, stat.variety()) self.setOutputValue(self.EMPTY, stat.countMissing()) self.setOutputValue(self.FILLED, count - stat.countMissing()) self.setOutputValue(self.MIN, stat.min()) self.setOutputValue(self.MAX, stat.max()) self.setOutputValue(self.RANGE, stat.range()) self.setOutputValue(self.SUM, stat.sum()) self.setOutputValue(self.MEAN, stat.mean()) self.setOutputValue(self.MEDIAN, stat.median()) self.setOutputValue(self.STD_DEV, stat.stDev()) self.setOutputValue(self.CV, cv) self.setOutputValue(self.MINORITY, stat.minority()) self.setOutputValue(self.MAJORITY, stat.majority()) self.setOutputValue(self.FIRSTQUARTILE, stat.firstQuartile()) self.setOutputValue(self.THIRDQUARTILE, stat.thirdQuartile()) self.setOutputValue(self.IQR, stat.interQuartileRange()) data = [] data.append(self.tr('Count: {}').format(stat.count())) data.append(self.tr('Unique values: {}').format(stat.variety())) data.append(self.tr('NULL (missing) values: {}').format(stat.countMissing())) data.append(self.tr('Minimum value: {}').format(stat.min())) data.append(self.tr('Maximum value: {}').format(stat.max())) data.append(self.tr('Range: {}').format(stat.range())) data.append(self.tr('Sum: {}').format(stat.sum())) data.append(self.tr('Mean value: {}').format(stat.mean())) data.append(self.tr('Median value: {}').format(stat.median())) data.append(self.tr('Standard deviation: {}').format(stat.stDev())) data.append(self.tr('Coefficient of Variation: {}').format(cv)) data.append(self.tr('Minority (rarest occurring value): {}').format(stat.minority())) data.append(self.tr('Majority (most frequently occurring value): {}').format(stat.majority())) data.append(self.tr('First quartile: {}').format(stat.firstQuartile())) data.append(self.tr('Third quartile: {}').format(stat.thirdQuartile())) data.append(self.tr('Interquartile Range (IQR): {}').format(stat.interQuartileRange())) return data
def processAlgorithm(self, feedback): layer = dataobjects.getObjectFromUri( self.getParameterValue(self.INPUT_LAYER)) fieldName = self.getParameterValue(self.FIELD_NAME) outputFile = self.getOutputValue(self.OUTPUT_HTML_FILE) request = QgsFeatureRequest().setFlags( QgsFeatureRequest.NoGeometry).setSubsetOfAttributes([fieldName], layer.fields()) stat = QgsStatisticalSummary() features = vector.features(layer, request) count = len(features) total = 100.0 / float(count) for current, ft in enumerate(features): stat.addVariant(ft[fieldName]) feedback.setProgress(int(current * total)) stat.finalize() count = stat.count() uniqueValue = stat.variety() minValue = stat.min() maxValue = stat.max() rValue = stat.range() sumValue = stat.sum() meanValue = stat.mean() medianValue = stat.median() stdDevValue = stat.stDev() cvValue = stdDevValue / meanValue if meanValue != 0 else 0 minority = stat.minority() majority = stat.majority() firstQuartile = stat.firstQuartile() thirdQuartile = stat.thirdQuartile() iqr = stat.interQuartileRange() nullValues = stat.countMissing() data = [] data.append(self.tr('Analyzed layer: {}').format(layer.name())) data.append(self.tr('Analyzed field: {}').format(fieldName)) data.append(self.tr('Count: {}').format(count)) data.append(self.tr('Unique values: {}').format(uniqueValue)) data.append(self.tr('Minimum value: {}').format(minValue)) data.append(self.tr('Maximum value: {}').format(maxValue)) data.append(self.tr('Range: {}').format(rValue)) data.append(self.tr('Sum: {}').format(sumValue)) data.append(self.tr('Mean value: {}').format(meanValue)) data.append(self.tr('Median value: {}').format(medianValue)) data.append(self.tr('Standard deviation: {}').format(stdDevValue)) data.append(self.tr('Coefficient of Variation: {}').format(cvValue)) data.append( self.tr('Minority (rarest occurring value): {}').format(minority)) data.append( self.tr('Majority (most frequently occurring value): {}').format( majority)) data.append(self.tr('First quartile: {}').format(firstQuartile)) data.append(self.tr('Third quartile: {}').format(thirdQuartile)) data.append(self.tr('NULL (missing) values: {}').format(nullValues)) data.append(self.tr('Interquartile Range (IQR): {}').format(iqr)) self.createHTML(outputFile, data) self.setOutputValue(self.COUNT, count) self.setOutputValue(self.UNIQUE, uniqueValue) self.setOutputValue(self.MIN, minValue) self.setOutputValue(self.MAX, maxValue) self.setOutputValue(self.RANGE, rValue) self.setOutputValue(self.SUM, sumValue) self.setOutputValue(self.MEAN, meanValue) self.setOutputValue(self.MEDIAN, medianValue) self.setOutputValue(self.STD_DEV, stdDevValue) self.setOutputValue(self.MINORITY, minority) self.setOutputValue(self.MAJORITY, majority) self.setOutputValue(self.FIRSTQUARTILE, firstQuartile) self.setOutputValue(self.THIRDQUARTILE, thirdQuartile) self.setOutputValue(self.NULLVALUES, nullValues) self.setOutputValue(self.IQR, iqr)
def processAlgorithm(self, progress): layer = dataobjects.getObjectFromUri( self.getParameterValue(self.INPUT_LAYER)) fieldName = self.getParameterValue(self.FIELD_NAME) outputFile = self.getOutputValue(self.OUTPUT_HTML_FILE) request = QgsFeatureRequest().setFlags(QgsFeatureRequest.NoGeometry).setSubsetOfAttributes([fieldName], layer.fields()) stat = QgsStatisticalSummary() features = vector.features(layer, request) count = len(features) total = 100.0 / float(count) for current, ft in enumerate(features): stat.addVariant(ft[fieldName]) progress.setPercentage(int(current * total)) stat.finalize() count = stat.count() uniqueValue = stat.variety() minValue = stat.min() maxValue = stat.max() rValue = stat.range() sumValue = stat.sum() meanValue = stat.mean() medianValue = stat.median() stdDevValue = stat.stDev() cvValue = stdDevValue / meanValue if meanValue != 0 else 0 minority = stat.minority() majority = stat.majority() firstQuartile = stat.firstQuartile() thirdQuartile = stat.thirdQuartile() iqr = stat.interQuartileRange() nullValues = stat.countMissing() data = [] data.append(self.tr('Analyzed layer: {}').format(layer.name())) data.append(self.tr('Analyzed field: {}').format(fieldName)) data.append(self.tr('Count: {}').format(count)) data.append(self.tr('Unique values: {}').format(uniqueValue)) data.append(self.tr('Minimum value: {}').format(minValue)) data.append(self.tr('Maximum value: {}').format(maxValue)) data.append(self.tr('Range: {}').format(rValue)) data.append(self.tr('Sum: {}').format(sumValue)) data.append(self.tr('Mean value: {}').format(meanValue)) data.append(self.tr('Median value: {}').format(medianValue)) data.append(self.tr('Standard deviation: {}').format(stdDevValue)) data.append(self.tr('Coefficient of Variation: {}').format(cvValue)) data.append(self.tr('Minority (rarest occurring value): {}').format(minority)) data.append(self.tr('Majority (most frequently occurring value): {}').format(majority)) data.append(self.tr('First quartile: {}').format(firstQuartile)) data.append(self.tr('Third quartile: {}').format(thirdQuartile)) data.append(self.tr('NULL (missing) values: {}').format(nullValues)) data.append(self.tr('Interquartile Range (IQR): {}').format(iqr)) self.createHTML(outputFile, data) self.setOutputValue(self.COUNT, count) self.setOutputValue(self.UNIQUE, uniqueValue) self.setOutputValue(self.MIN, minValue) self.setOutputValue(self.MAX, maxValue) self.setOutputValue(self.RANGE, rValue) self.setOutputValue(self.SUM, sumValue) self.setOutputValue(self.MEAN, meanValue) self.setOutputValue(self.MEDIAN, medianValue) self.setOutputValue(self.STD_DEV, stdDevValue) self.setOutputValue(self.MINORITY, minority) self.setOutputValue(self.MAJORITY, majority) self.setOutputValue(self.FIRSTQUARTILE, firstQuartile) self.setOutputValue(self.THIRDQUARTILE, thirdQuartile) self.setOutputValue(self.NULLVALUES, nullValues) self.setOutputValue(self.IQR, iqr)
def processAlgorithm(self, progress): layer = dataobjects.getObjectFromUri( self.getParameterValue(self.INPUT_LAYER)) fieldName = self.getParameterValue(self.FIELD_NAME) outputFile = self.getOutputValue(self.OUTPUT_HTML_FILE) cvValue = 0 minValue = 0 maxValue = 0 sumValue = 0 meanValue = 0 medianValue = 0 stdDevValue = 0 minority = 0 majority = 0 firstQuartile = 0 thirdQuartile = 0 nullValues = 0 iqr = 0 values = [] features = vector.features(layer) count = len(features) total = 100.0 / float(count) for current, ft in enumerate(features): value = ft[fieldName] if value or value == 0: values.append(float(value)) else: nullValues += 1 progress.setPercentage(int(current * total)) stat = QgsStatisticalSummary() stat.calculate(values) count = stat.count() uniqueValue = stat.variety() minValue = stat.min() maxValue = stat.max() rValue = stat.range() sumValue = stat.sum() meanValue = stat.mean() medianValue = stat.median() stdDevValue = stat.stDev() if meanValue != 0.00: cvValue = stdDevValue / meanValue minority = stat.minority() majority = stat.majority() firstQuartile = stat.firstQuartile() thirdQuartile = stat.thirdQuartile() iqr = stat.interQuartileRange() data = [] data.append(self.tr('Analyzed layer: {}').format(layer.name())) data.append(self.tr('Analyzed field: {}').format(fieldName)) data.append(self.tr('Count: {}').format(count)) data.append(self.tr('Unique values: {}').format(uniqueValue)) data.append(self.tr('Minimum value: {}').format(minValue)) data.append(self.tr('Maximum value: {}').format(maxValue)) data.append(self.tr('Range: {}').format(rValue)) data.append(self.tr('Sum: {}').format(sumValue)) data.append(self.tr('Mean value: {}').format(meanValue)) data.append(self.tr('Median value: {}').format(medianValue)) data.append(self.tr('Standard deviation: {}').format(stdDevValue)) data.append(self.tr('Coefficient of Variation: {}').format(cvValue)) data.append( self.tr('Minority (rarest occurring value): {}').format(minority)) data.append( self.tr('Majority (most frequently occurring value): {}').format( majority)) data.append(self.tr('First quartile: {}').format(firstQuartile)) data.append(self.tr('Third quartile: {}').format(thirdQuartile)) data.append(self.tr('NULL (missing) values: {}').format(nullValues)) data.append(self.tr('Interquartile Range (IQR): {}').format(iqr)) self.createHTML(outputFile, data) self.setOutputValue(self.COUNT, count) self.setOutputValue(self.UNIQUE, uniqueValue) self.setOutputValue(self.MIN, minValue) self.setOutputValue(self.MAX, maxValue) self.setOutputValue(self.RANGE, rValue) self.setOutputValue(self.SUM, sumValue) self.setOutputValue(self.MEAN, meanValue) self.setOutputValue(self.MEDIAN, medianValue) self.setOutputValue(self.STD_DEV, stdDevValue) self.setOutputValue(self.MINORITY, minority) self.setOutputValue(self.MAJORITY, majority) self.setOutputValue(self.FIRSTQUARTILE, firstQuartile) self.setOutputValue(self.THIRDQUARTILE, thirdQuartile) self.setOutputValue(self.NULLVALUES, nullValues) self.setOutputValue(self.IQR, iqr)
def processAlgorithm(self, progress): layer = dataobjects.getObjectFromUri( self.getParameterValue(self.INPUT_LAYER)) fieldName = self.getParameterValue(self.FIELD_NAME) outputFile = self.getOutputValue(self.OUTPUT_HTML_FILE) index = layer.fieldNameIndex(fieldName) cvValue = 0 minValue = 0 maxValue = 0 sumValue = 0 meanValue = 0 medianValue = 0 stdDevValue = 0 minority = 0 majority = 0 firstQuartile = 0 thirdQuartile = 0 iqr = 0 isFirst = True values = [] features = vector.features(layer) count = len(features) total = 100.0 / float(count) current = 0 for ft in features: if ft.attributes()[index]: values.append(float(ft.attributes()[index])) current += 1 progress.setPercentage(int(current * total)) stat = QgsStatisticalSummary() stat.calculate(values) count = stat.count() uniqueValue = stat.variety() minValue = stat.min() maxValue = stat.max() rValue = stat.range() sumValue = stat.sum() meanValue = stat.mean() medianValue = stat.median() stdDevValue = stat.stDev() if meanValue != 0.00: cvValue = stdDevValue / meanValue minority = stat.minority() majority = stat.majority() firstQuartile = stat.firstQuartile() thirdQuartile = stat.thirdQuartile() iqr = stat.interQuartileRange() data = [] data.append('Count: ' + unicode(count)) data.append('Unique values: ' + unicode(uniqueValue)) data.append('Minimum value: ' + unicode(minValue)) data.append('Maximum value: ' + unicode(maxValue)) data.append('Range: ' + unicode(rValue)) data.append('Sum: ' + unicode(sumValue)) data.append('Mean value: ' + unicode(meanValue)) data.append('Median value: ' + unicode(medianValue)) data.append('Standard deviation: ' + unicode(stdDevValue)) data.append('Coefficient of Variation: ' + unicode(cvValue)) data.append('Minority (rarest occurring value): ' + unicode(minority)) data.append('Majority (most frequently occurring value): ' + unicode(majority)) data.append('First quartile: ' + unicode(firstQuartile)) data.append('Third quartile: ' + unicode(thirdQuartile)) data.append('Interquartile Range (IQR): ' + unicode(iqr)) self.createHTML(outputFile, data) self.setOutputValue(self.COUNT, count) self.setOutputValue(self.UNIQUE, uniqueValue) self.setOutputValue(self.MIN, minValue) self.setOutputValue(self.MAX, maxValue) self.setOutputValue(self.RANGE, rValue) self.setOutputValue(self.SUM, sumValue) self.setOutputValue(self.MEAN, meanValue) self.setOutputValue(self.MEDIAN, medianValue) self.setOutputValue(self.STD_DEV, stdDevValue) self.setOutputValue(self.MINORITY, minority) self.setOutputValue(self.MAJORITY, majority) self.setOutputValue(self.FIRSTQUARTILE, firstQuartile) self.setOutputValue(self.THIRDQUARTILE, thirdQuartile) self.setOutputValue(self.IQR, iqr)
def processAlgorithm(self, progress): layer = dataobjects.getObjectFromUri( self.getParameterValue(self.INPUT_LAYER)) fieldName = self.getParameterValue(self.FIELD_NAME) outputFile = self.getOutputValue(self.OUTPUT_HTML_FILE) index = layer.fieldNameIndex(fieldName) cvValue = 0 minValue = 0 maxValue = 0 sumValue = 0 meanValue = 0 medianValue = 0 stdDevValue = 0 minority = 0 majority = 0 firstQuartile = 0 thirdQuartile = 0 iqr = 0 isFirst = True values = [] features = vector.features(layer) count = len(features) total = 100.0 / float(count) current = 0 for ft in features: if ft.attributes()[index]: values.append(float(ft.attributes()[index])) current += 1 progress.setPercentage(int(current * total)) stat = QgsStatisticalSummary() stat.calculate(values) count = stat.count() uniqueValue = stat.variety() minValue = stat.min() maxValue = stat.max() rValue = stat.range() sumValue = stat.sum() meanValue = stat.mean() medianValue = stat.median() stdDevValue = stat.stDev() if meanValue != 0.00: cvValue = stdDevValue / meanValue minority = stat.minority() majority = stat.majority() firstQuartile = stat.firstQuartile() thirdQuartile = stat.thirdQuartile() iqr = stat.interQuartileRange() data = [] data.append('Analyzed layer: ' + layer.name()) data.append('Analyzed field: ' + fieldName) data.append('Count: ' + unicode(count)) data.append('Unique values: ' + unicode(uniqueValue)) data.append('Minimum value: ' + unicode(minValue)) data.append('Maximum value: ' + unicode(maxValue)) data.append('Range: ' + unicode(rValue)) data.append('Sum: ' + unicode(sumValue)) data.append('Mean value: ' + unicode(meanValue)) data.append('Median value: ' + unicode(medianValue)) data.append('Standard deviation: ' + unicode(stdDevValue)) data.append('Coefficient of Variation: ' + unicode(cvValue)) data.append('Minority (rarest occurring value): ' + unicode(minority)) data.append('Majority (most frequently occurring value): ' + unicode(majority)) data.append('First quartile: ' + unicode(firstQuartile)) data.append('Third quartile: ' + unicode(thirdQuartile)) data.append('Interquartile Range (IQR): ' + unicode(iqr)) self.createHTML(outputFile, data) self.setOutputValue(self.COUNT, count) self.setOutputValue(self.UNIQUE, uniqueValue) self.setOutputValue(self.MIN, minValue) self.setOutputValue(self.MAX, maxValue) self.setOutputValue(self.RANGE, rValue) self.setOutputValue(self.SUM, sumValue) self.setOutputValue(self.MEAN, meanValue) self.setOutputValue(self.MEDIAN, medianValue) self.setOutputValue(self.STD_DEV, stdDevValue) self.setOutputValue(self.MINORITY, minority) self.setOutputValue(self.MAJORITY, majority) self.setOutputValue(self.FIRSTQUARTILE, firstQuartile) self.setOutputValue(self.THIRDQUARTILE, thirdQuartile) self.setOutputValue(self.IQR, iqr)