class_docstr: This class wraps data into a dict-like object
code: def groupby(self, field1, field2=None):
      if field2 is None:
          uniquevalues = list(set(self.dict[field1]))
          return [
              (v, self.where(self.dict[field1] == v))
              for v in uniquevalues
          ]
      else:
          uniquevalues = set(
              [
                  tuple(row)
                  for row in np.vstack(
                      [self.dict[field1], self.dict[field2]]
                  ).T
              ]
          )
          return [
              (
                  (v1, v2),
                  self.where(
                      (self.dict[field1] == v1)
                      & (self.dict[field2] == v2)
                  ),
              )
              for v1, v2 in uniquevalues
          ]
  
imports: from collections import defaultdict
  import csv
  from datetime import datetime
  import json
  from math import radians, cos, sin, asin, sqrt
  import urllib2
  import numpy
label_desc: Use image node_id 8 for calling the DataAccessObject obj's underlying member method code with example usage: obj.groupby(field1, field2) and returns: unknown, unknown