@Override public ObjectColumnSummary result() { return new ObjectColumnSummary(nonNullCount, nullCount); } }
@Override public String toString() { return "ObjectColumnSummary{" + "totalCount=" + getTotalCount() + ", notNullCount=" + notNullCount + ", nullCount=" + nullCount + '}'; } }
@Override public String toString() { return "BooleanColumnSummary{" + "totalCount=" + getTotalCount() + ", trueCount=" + trueCount + ", falseCount=" + falseCount + ", nullCount=" + nullCount + '}'; } }
@Override protected void compareResults(NumericColumnSummary<Float> result1, NumericColumnSummary<Float> result2) { Assert.assertEquals(result1.getMin(), result2.getMin(), 0.0f); Assert.assertEquals(result1.getMax(), result2.getMax(), 0.0f); Assert.assertEquals(result1.getMean(), result2.getMean(), 1e-10d); Assert.assertEquals(result1.getVariance(), result2.getVariance(), 1e-9d); Assert.assertEquals(result1.getStandardDeviation(), result2.getStandardDeviation(), 1e-10d); }
@Override protected void compareResults(StringColumnSummary result1, StringColumnSummary result2) { Assert.assertEquals(result1.getEmptyCount(), result2.getEmptyCount()); Assert.assertEquals(result1.getMaxLength(), result2.getMaxLength()); Assert.assertEquals(result1.getMinLength(), result2.getMinLength()); if (result1.getMeanLength() == null) { Assert.assertEquals(result1.getMeanLength(), result2.getMeanLength()); } else { Assert.assertEquals(result1.getMeanLength().doubleValue(), result2.getMeanLength().doubleValue(), 1e-5d); } Assert.assertEquals(result1.getNullCount(), result2.getNullCount()); Assert.assertEquals(result1.getNonNullCount(), result2.getNonNullCount()); }
@Test public void testMixedGroup() { BooleanColumnSummary summary = summarize(true, false, null, true, true, true, false, null, true, false, true); Assert.assertEquals(11, summary.getTotalCount()); Assert.assertEquals(2, summary.getNullCount()); Assert.assertEquals(9, summary.getNonNullCount()); Assert.assertEquals(6, summary.getTrueCount()); Assert.assertEquals(3, summary.getFalseCount()); }
@Override public String toString() { return "NumericColumnSummary{" + "totalCount=" + getTotalCount() + ", nullCount=" + nullCount + ", nonNullCount=" + getNonNullCount() + ", missingCount=" + getMissingCount() + ", nonMissingCount=" + nonMissingCount + ", nanCount=" + nanCount + ", infinityCount=" + infinityCount + ", min=" + min + ", max=" + max + ", sum=" + sum + ", mean=" + mean + ", variance=" + variance + ", standardDeviation=" + standardDeviation + '}'; } }
@Override protected void compareResults(BooleanColumnSummary result1, BooleanColumnSummary result2) { Assert.assertEquals(result1.getNullCount(), result2.getNullCount()); Assert.assertEquals(result1.getNonNullCount(), result2.getNonNullCount()); Assert.assertEquals(result1.getTrueCount(), result2.getTrueCount()); Assert.assertEquals(result1.getFalseCount(), result2.getFalseCount()); } }.summarize(booleanValues);
@Override public StringColumnSummary result() { return new StringColumnSummary( nonNullCount, nullCount, emptyCount, nonNullCount == 0L ? null : minStringLength, nonNullCount == 0L ? null : maxStringLength, nonNullCount == 0L ? null : meanLength.value() ); } }
/** * The number of all rows in this column including both nulls and non-nulls. */ public long getTotalCount() { return getNullCount() + getNonNullCount(); }
@Override public String toString() { return "StringColumnSummary{" + "totalCount=" + getTotalCount() + ", nonNullCount=" + nonNullCount + ", nullCount=" + nullCount + ", emptyCount=" + emptyCount + ", minLength=" + minLength + ", maxLength=" + maxLength + ", meanLength=" + meanLength + '}'; } }
@Override public BooleanColumnSummary result() { return new BooleanColumnSummary(trueCount, falseCount, nullCount); } }
/** * True if this column contains any null values. */ public boolean containsNull() { return getNullCount() > 0L; }
/** * True if this column contains any non-null values. */ public boolean containsNonNull() { return getNonNullCount() > 0L; }
@Override protected void compareResults(NumericColumnSummary<Double> result1, NumericColumnSummary<Double> result2) { Assert.assertEquals(result1.getMin(), result2.getMin(), 0.0); Assert.assertEquals(result1.getMax(), result2.getMax(), 0.0); Assert.assertEquals(result1.getMean(), result2.getMean(), 1e-12d); Assert.assertEquals(result1.getVariance(), result2.getVariance(), 1e-9d); Assert.assertEquals(result1.getStandardDeviation(), result2.getStandardDeviation(), 1e-12d); }
@Override protected void compareResults(StringColumnSummary result1, StringColumnSummary result2) { Assert.assertEquals(result1.getEmptyCount(), result2.getEmptyCount()); Assert.assertEquals(result1.getMaxLength(), result2.getMaxLength()); Assert.assertEquals(result1.getMinLength(), result2.getMinLength()); if (result1.getMeanLength() == null) { Assert.assertEquals(result1.getMeanLength(), result2.getMeanLength()); } else { Assert.assertEquals(result1.getMeanLength().doubleValue(), result2.getMeanLength().doubleValue(), 1e-5d); } Assert.assertEquals(result1.getNullCount(), result2.getNullCount()); Assert.assertEquals(result1.getNonNullCount(), result2.getNonNullCount()); }
@Test public void testAllNullBooleans() { BooleanColumnSummary summary = summarize(null, null, null, null); Assert.assertEquals(4, summary.getTotalCount()); Assert.assertEquals(4, summary.getNullCount()); Assert.assertEquals(0, summary.getNonNullCount()); Assert.assertEquals(0, summary.getTrueCount()); Assert.assertEquals(0, summary.getFalseCount()); }
@Override protected void compareResults(BooleanColumnSummary result1, BooleanColumnSummary result2) { Assert.assertEquals(result1.getNullCount(), result2.getNullCount()); Assert.assertEquals(result1.getNonNullCount(), result2.getNonNullCount()); Assert.assertEquals(result1.getTrueCount(), result2.getTrueCount()); Assert.assertEquals(result1.getFalseCount(), result2.getFalseCount()); } }.summarize(values);
@Override protected void compareResults(NumericColumnSummary<Double> result1, NumericColumnSummary<Double> result2) { Assert.assertEquals(result1.getMin(), result2.getMin(), 0.0); Assert.assertEquals(result1.getMax(), result2.getMax(), 0.0); Assert.assertEquals(result1.getMean(), result2.getMean(), 1e-12d); Assert.assertEquals(result1.getVariance(), result2.getVariance(), 1e-9d); Assert.assertEquals(result1.getStandardDeviation(), result2.getStandardDeviation(), 1e-12d); }
@Override protected void compareResults(NumericColumnSummary<Float> result1, NumericColumnSummary<Float> result2) { Assert.assertEquals(result1.getMin(), result2.getMin(), 0.0f); Assert.assertEquals(result1.getMax(), result2.getMax(), 0.0f); Assert.assertEquals(result1.getMean(), result2.getMean(), 1e-12d); Assert.assertEquals(result1.getVariance(), result2.getVariance(), 1e-9d); Assert.assertEquals(result1.getStandardDeviation(), result2.getStandardDeviation(), 1e-12d); }