original_docstring: Displays the visualization through IPython.
  
      Args:
        updating_pv: A PCollectionVisualization object. When provided, the
          display_id of each visualization part will inherit from the initial
          display of updating_pv and only update that visualization web element
          instead of creating new ones.
  
      The visualization has 3 parts: facets-dive, facets-overview and paginated
      data table. Each part is assigned an auto-generated unique display id
      (the uniqueness is guaranteed throughout the lifespan of the PCollection
      variable).
      
docstring: Displays the visualization through IPython.
docstring_tokens: Displays the visualization through IPython .
code: def display(self, updating_pv=None):
      """Displays the visualization through IPython.
  
      Args:
        updating_pv: A PCollectionVisualization object. When provided, the
          display_id of each visualization part will inherit from the initial
          display of updating_pv and only update that visualization web element
          instead of creating new ones.
  
      The visualization has 3 parts: facets-dive, facets-overview and paginated
      data table. Each part is assigned an auto-generated unique display id
      (the uniqueness is guaranteed throughout the lifespan of the PCollection
      variable).
      """
      # Ensures that dive, overview and table render the same data because the
      # materialized PCollection data might being updated continuously.
      data = self._to_dataframe()
      # Give the numbered column names when visualizing.
      data.columns = [
          self._pcoll_var + '.' +
          str(column) if isinstance(column, int) else column
          for column in data.columns
      ]
      # String-ify the dictionaries for display because elements of type dict
      # cannot be ordered.
      data = data.applymap(lambda x: str(x) if isinstance(x, dict) else x)
      if updating_pv:
        # Only updates when data is not empty. Otherwise, consider it a bad
        # iteration and noop since there is nothing to be updated.
        if data.empty:
          _LOGGER.debug('Skip a visualization update due to empty data.')
        else:
          self._display_dataframe(data.copy(deep=True), updating_pv)
          if self._display_facets:
            self._display_dive(data.copy(deep=True), updating_pv)
            self._display_overview(data.copy(deep=True), updating_pv)
      else:
        self._display_dataframe(data.copy(deep=True))
        if self._display_facets:
          self._display_dive(data.copy(deep=True))
          self._display_overview(data.copy(deep=True))
code_tokens: def display ( self , updating_pv = None ) : data = self . _to_dataframe ( ) data . columns = [ self . _pcoll_var + '.' + str ( column ) if isinstance ( column , int ) else column for column in data . columns ] data = data . applymap ( lambda x : str ( x ) if isinstance ( x , dict ) else x ) if updating_pv : if data . empty : _LOGGER . debug ( 'Skip a visualization update due to empty data.' ) else : self . _display_dataframe ( data . copy ( deep = True ) , updating_pv ) if self . _display_facets : self . _display_dive ( data . copy ( deep = True ) , updating_pv ) self . _display_overview ( data . copy ( deep = True ) , updating_pv ) else : self . _display_dataframe ( data . copy ( deep = True ) ) if self . _display_facets : self . _display_dive ( data . copy ( deep = True ) ) self . _display_overview ( data . copy ( deep = True ) )
short_docstring: Displays the visualization through IPython.
short_docstring_tokens: Displays the visualization through IPython .
comment: """Displays the visualization through IPython.
  
      Args:
        updating_pv: A PCollectionVisualization object. When provided, the
          display_id of each visualization part will inherit from the initial
          display of updating_pv and only update that visualization web element
          instead of creating new ones.
  
      The visualization has 3 parts: facets-dive, facets-overview and paginated
      data table. Each part is assigned an auto-generated unique display id
      (the uniqueness is guaranteed throughout the lifespan of the PCollection
      variable).
      """$SEP$# Ensures that dive, overview and table render the same data because the$SEP$# materialized PCollection data might being updated continuously.$SEP$# Give the numbered column names when visualizing.$SEP$# String-ify the dictionaries for display because elements of type dict$SEP$# cannot be ordered.$SEP$# Only updates when data is not empty. Otherwise, consider it a bad$SEP$# iteration and noop since there is nothing to be updated.