class_docstr: Returns the first value that passes a test.
  
  If the test is omitted, the aggregation will return the first value in the column.
  
  If no values pass the test, the aggregation will raise an exception.
  
  :param column_name:
      The name of the column to check.
  :param test:
      A function that takes a value and returns `True` or `False`. Test may be
      omitted when checking :class:`.Boolean` data.
class_docstr_tok: ["Returns","the","first","value","that","passes","a","test",".","If","the","test","is","omitted",",","the","aggregation","will","return","the","first","value","in","the","column",".","If","no","values","pass","the","test",",","the","aggregation","will","raise","an","exception",".",":","param","column_name",":","The","name","of","the","column","to","check",".",":","param","test",":","A","function","that","takes","a","value","and","returns","`","True","`","or","`","False","`",".","Test","may","be","omitted","when","checking",":","class",":","`",".Boolean","`","data","."]
code: def __init__(self, column_name, test=None):
      self._column_name = column_name
      self._test = test
  
imports: from agate.aggregations.base import Aggregation
label_desc: Use image node_id 1 to create a new First object from inherited base classes: Aggregation with example: obj = First(column_name, test)