class_docstr: Base probability distribution.
docstr: Probability density function.
  
  Let :math:`X` be a random variables with the distribution of `self`,
  taking values in `(N, n)` `DataFrame`-s
  Let :math:`x\in \mathbb{R}^{N\times n}`.
  By :math:`p_{X_{ij}}`, denote the marginal pdf of :math:`X` at the
  :math:`(i,j)`-th entry.
  
  The output of this method, for input `x` representing :math:`x`,
  is a `DataFrame` with same columns and indices as `self`,
  and entries :math:`p_{X_{ij}}(x_{ij})`.
  
  Parameters
  ----------
  x : `pandas.DataFrame` or 2D np.ndarray
      representing :math:`x`, as above
  
  Returns
  -------
  `DataFrame` with same columns and index as `self`
      containing :math:`p_{X_{ij}}(x_{ij})`, as above
docstr_tok: ["Probability","density","function",".","Let",":","math",":","`","X","`","be","a","random","variables","with","the","distribution","of","`","self","`",",","taking","values","in","`","(","N",",","n",")","`","`","DataFrame","`","-s","Let",":","math",":","`","x\\in","\\mathbb","{","R","}","^","{","N\\times","n","}","`",".","By",":","math",":","`","p_","{","X_","{","ij","}","}","`",",","denote","the","marginal","pdf","of",":","math",":","`","X","`","at","the",":","math",":","`","(","i",",","j",")","`","-th","entry",".","The","output","of","this","method",",","for","input","`","x","`","representing",":","math",":","`","x","`",",","is","a","`","DataFrame","`","with","same","columns","and","indices","as","`","self","`",",","and","entries",":","math",":","`","p_","{","X_","{","ij","}","}","(","x_","{","ij","}",")","`",".","Parameters","--","--","--","--","--","x",":","`","pandas.DataFrame","`","or","2D","np.ndarray","representing",":","math",":","`","x","`",",","as","above","Returns","--","--","--","-","`","DataFrame","`","with","same","columns","and","index","as","`","self","`","containing",":","math",":","`","p_","{","X_","{","ij","}","}","(","x_","{","ij","}",")","`",",","as","above"]
code: def pdf(self, x):
      r"""Probability density function.
  
      Let :math:`X` be a random variables with the distribution of `self`,
      taking values in `(N, n)` `DataFrame`-s
      Let :math:`x\in \mathbb{R}^{N\times n}`.
      By :math:`p_{X_{ij}}`, denote the marginal pdf of :math:`X` at the
      :math:`(i,j)`-th entry.
  
      The output of this method, for input `x` representing :math:`x`,
      is a `DataFrame` with same columns and indices as `self`,
      and entries :math:`p_{X_{ij}}(x_{ij})`.
  
      Parameters
      ----------
      x : `pandas.DataFrame` or 2D np.ndarray
          representing :math:`x`, as above
  
      Returns
      -------
      `DataFrame` with same columns and index as `self`
          containing :math:`p_{X_{ij}}(x_{ij})`, as above
      """
      if self._has_implementation_of("log_pdf"):
          approx_method = (
              "by exponentiating the output returned by the log_pdf method, "
              "this may be numerically unstable"
          )
          warn(self._method_error_msg("pdf", fill_in=approx_method))
          return df_map(self.log_pdf(x=x))(np.exp)
  
      raise NotImplementedError(self._method_error_msg("pdf", "error"))
  
imports: from warnings import warn
  import numpy
  import pandas
  from sktime.base import BaseObject
  from sktime.utils.pandas import df_map
  from sktime.utils.validation._dependencies import _check_estimator_deps
label_desc: Use image node_id 12 for calling the BaseDistribution obj's underlying member method code with example usage: obj.pdf(x) and returns: df_map