docstr: Create a new :class:`~perspective.View` from this
  :class:`~perspective.Table` via the supplied keyword arguments.
  
  A View is an immutable set of transformations applied to the data stored
  in a :class:`~perspective.Table`, which can be used for querying,
  pivoting, aggregating, sorting, and filtering.
  
  Keyword Arguments:
      columns (:obj:`list` of :obj:`str`): A list of column names to be
          visible to the user.
      group_by (:obj:`list` of :obj:`str`): A list of column names to
          use as group by.
      split_by (:obj:`list` of :obj:`str`): A list of column names
          to use as split by.
      aggregates (:obj:`dict` of :obj:`str` to :obj:`str`):  A dictionary
          of column names to aggregate types, which specify aggregates
          for individual columns.
      sort (:obj:`list` of :obj:`list` of :obj:`str`): A list of lists,
          each list containing a column name and a sort direction
          (``asc``, ``desc``, ``asc abs``, ``desc abs``, ``col asc``,
          ``col desc``, ``col asc abs``, ``col desc abs``).
      filter (:obj:`list` of :obj:`list` of :obj:`str`):  A list of lists,
          each list containing a column name, a filter comparator, and a
          value to filter by.
  
  Returns:
      :class:`~perspective.View`: A new :class:`~perspective.View`
          instance bound to this :class:`~perspective.Table`.
  
  Examples:
      >>> tbl = Table({"a": [1, 2, 3]})
      >>> view = tbl.view(filter=[["a", "==", 1]]
      >>> view.to_dict()
      >>> {"a": [1]}
docstr_tok: ["Create","a","new",":","class",":","`","~perspective.View","`","from","this",":","class",":","`","~perspective.Table","`","via","the","supplied","keyword","arguments",".","A","View","is","an","immutable","set","of","transformations","applied","to","the","data","stored","in","a",":","class",":","`","~perspective.Table","`",",","which","can","be","used","for","querying",",","pivoting",",","aggregating",",","sorting",",","and","filtering",".","Keyword","Arguments",":","columns","(",":","obj",":","`","list","`","of",":","obj",":","`","str","`",")",":","A","list","of","column","names","to","be","visible","to","the","user",".","group_by","(",":","obj",":","`","list","`","of",":","obj",":","`","str","`",")",":","A","list","of","column","names","to","use","as","group","by",".","split_by","(",":","obj",":","`","list","`","of",":","obj",":","`","str","`",")",":","A","list","of","column","names","to","use","as","split","by",".","aggregates","(",":","obj",":","`","dict","`","of",":","obj",":","`","str","`","to",":","obj",":","`","str","`",")",":","A","dictionary","of","column","names","to","aggregate","types",",","which","specify","aggregates","for","individual","columns",".","sort","(",":","obj",":","`","list","`","of",":","obj",":","`","list","`","of",":","obj",":","`","str","`",")",":","A","list","of","lists",",","each","list","containing","a","column","name","and","a","sort","direction","(","``","asc","``",",","``","desc","``",",","``","asc","abs","``",",","``","desc","abs","``",",","``","col","asc","``",",","``","col","desc","``",",","``","col","asc","abs","``",",","``","col","desc","abs","``",")",".","filter","(",":","obj",":","`","list","`","of",":","obj",":","`","list","`","of",":","obj",":","`","str","`",")",":","A","list","of","lists",",","each","list","containing","a","column","name",",","a","filter","comparator",",","and","a","value","to","filter","by",".","Returns",":",":","class",":","`","~perspective.View","`",":","A","new",":","class",":","`","~perspective.View","`","instance","bound","to","this",":","class",":","`","~perspective.Table","`",".","Examples",":",">",">",">","tbl","=","Table","(","{","``","a","''",":","[","1",",","2",",","3","]","}",")",">",">",">","view","=","tbl.view","(","filter=","[","[","``","a","''",",","``","==","''",",","1","]","]",">",">",">","view.to_dict","(",")",">",">",">","{","``","a","''",":","[","1","]","}"]
code: def view(
      self,
      columns=None,
      group_by=None,
      split_by=None,
      aggregates=None,
      sort=None,
      filter=None,
      expressions=None,
  ):
      """Create a new :class:`~perspective.View` from this
      :class:`~perspective.Table` via the supplied keyword arguments.
  
      A View is an immutable set of transformations applied to the data stored
      in a :class:`~perspective.Table`, which can be used for querying,
      pivoting, aggregating, sorting, and filtering.
  
      Keyword Arguments:
          columns (:obj:`list` of :obj:`str`): A list of column names to be
              visible to the user.
          group_by (:obj:`list` of :obj:`str`): A list of column names to
              use as group by.
          split_by (:obj:`list` of :obj:`str`): A list of column names
              to use as split by.
          aggregates (:obj:`dict` of :obj:`str` to :obj:`str`):  A dictionary
              of column names to aggregate types, which specify aggregates
              for individual columns.
          sort (:obj:`list` of :obj:`list` of :obj:`str`): A list of lists,
              each list containing a column name and a sort direction
              (``asc``, ``desc``, ``asc abs``, ``desc abs``, ``col asc``,
              ``col desc``, ``col asc abs``, ``col desc abs``).
          filter (:obj:`list` of :obj:`list` of :obj:`str`):  A list of lists,
              each list containing a column name, a filter comparator, and a
              value to filter by.
  
      Returns:
          :class:`~perspective.View`: A new :class:`~perspective.View`
              instance bound to this :class:`~perspective.Table`.
  
      Examples:
          >>> tbl = Table({"a": [1, 2, 3]})
          >>> view = tbl.view(filter=[["a", "==", 1]]
          >>> view.to_dict()
          >>> {"a": [1]}
      """
      self._state_manager.call_process(self._table.get_id())
  
      config = {}
  
      if expressions is not None:
          config["expressions"] = _parse_expression_inputs(expressions)
  
      if columns is None:
          config["columns"] = self.columns()
  
          if expressions is not None:
              for expression in config["expressions"]:
                  config["columns"].append(expression[0])
      else:
          config["columns"] = columns
  
      if group_by is not None:
          config["group_by"] = group_by
      if split_by is not None:
          config["split_by"] = split_by
      if aggregates is not None:
          config["aggregates"] = aggregates
      if sort is not None:
          config["sort"] = sort
      if filter is not None:
          config["filter"] = filter
  
      view = View(self, **config)
      self._views.append(view._name)
      return view
  
imports: from datetime import date, datetime
  from ..core.exception import PerspectiveError
  from ._accessor import _PerspectiveAccessor
  from ._callback_cache import _PerspectiveCallBackCache
  from ._date_validator import _PerspectiveDateValidator
  from ._state import _PerspectiveStateManager
  from ._utils import _dtype_to_pythontype, _dtype_to_str, _parse_expression_inputs, _str_to_pythontype
  from .libpsppy import make_table, update_table, str_to_filter_op, t_dtype, t_filter_op, t_op, validate_expressions
  from .view import View
label_desc: Use image node_id 18 for calling the Table obj's underlying member method code with example usage: obj.view(columns, group_by, split_by, aggregates, sort, filter, expressions) and returns: view