code: def apply_rows(applicators, rows):
      
      for row in rows:
          for (cols, function) in applicators:
              for col in (cols or []):
                  value = row.get(col, '')
                  row[col] = function(row, value)
          yield row
docs: Yield rows after applying the applicator functions to them.
  
      Applicators are simple unary functions that return a value, and that
      value is stored in the yielded row. E.g.
      `row[col] = applicator(row[col])`. These are useful to, e.g., cast
      strings to numeric datatypes, to convert formats stored in a cell,
      extract features for machine learning, and so on.
  
      Args:
          applicators: a tuple of (cols, applicator) where the applicator
              will be applied to each col in cols
          rows: an iterable of rows for applicators to be called on
      Yields:
          Rows with specified column values replaced with the results of
          the applicators
  
      .. deprecated:: v0.7.0