summary property

Map<String, Map<String, num>> summary

A statistical summary of each column in this data frame.

Example:

final d = """
    a,b
    5,red
    9,green
    3,blue
    2,red
""".parseAsCsv();

for (final MapEntry(:key, :value) in d.summary.entries) {
  print("\nColumn '$key':");
  for (final MapEntry(:key, :value) in value.entries) {
    print("  $key: ${value.toStringAsFixed(2)}");
  }
}
Column 'a':
  sum: 19.00
  sumOfSquares: 119.00
  mean: 4.75
  variance: 7.19
  inferredVariance: 9.58
  standardDeviation: 2.68
  inferredStandardDeviation: 3.10
  skewness: 0.33
  meanAbsoluteDeviation: 2.25
  lowerQuartile: 2.75
  median: 4.00
  upperQuartile: 6.00
  interQuartileRange: 3.25
  maximum: 9.00
  maximumNonOutlier: 9.00
  minimum: 2.00
  minimumNonOutlier: 2.00
  range: 7.00
Column 'b':
  impurity: 0.63
  entropy: 1.04

Implementation

Map<String, Map<String, num>> get summary => {
      for (final MapEntry(:key, :value) in numericColumns.entries)
        key: value.summary,
      for (final MapEntry(:key, :value) in categoricColumns.entries)
        key: value.summary,
    };