class_docstr: Student's t-distribution (sktime native).
  
  Parameters
  ----------
  mean : float or array of float (1D or 2D)
      mean of the t-distribution distribution
  sd : float or array of float (1D or 2D), must be positive
      standard deviation of the t-distribution distribution
  df : float or array of float (1D or 2D), must be positive
      Degrees of freedom of the t-distribution
  index : pd.Index, optional, default = RangeIndex
  columns : pd.Index, optional, default = RangeIndex
  
  Example
  -------
  >>> from sktime.proba.t import TDistribution
  
  >>> n = TDistribution(mu=[[0, 1], [2, 3], [4, 5]], sigma=1, df=10)
class_docstr_tok: ["Student","'s","t-distribution","(","sktime","native",")",".","Parameters","--","--","--","--","--","mean",":","float","or","array","of","float","(","1D","or","2D",")","mean","of","the","t-distribution","distribution","sd",":","float","or","array","of","float","(","1D","or","2D",")",",","must","be","positive","standard","deviation","of","the","t-distribution","distribution","df",":","float","or","array","of","float","(","1D","or","2D",")",",","must","be","positive","Degrees","of","freedom","of","the","t-distribution","index",":","pd.Index",",","optional",",","default","=","RangeIndex","columns",":","pd.Index",",","optional",",","default","=","RangeIndex","Example","--","--","--","-",">",">",">","from","sktime.proba.t","import","TDistribution",">",">",">","n","=","TDistribution","(","mu=","[","[","0",",","1","]",",","[","2",",","3","]",",","[","4",",","5","]","]",",","sigma=1",",","df=10",")"]
docstr: Quantile function = percent point function = inverse cdf.
docstr_tok: ["Quantile","function","=","percent","point","function","=","inverse","cdf","."]
code: def ppf(self, p):
      """Quantile function = percent point function = inverse cdf."""
      d = self.loc[p.index, p.columns]
      ppf_arr = p.to_numpy(copy=True)
      ppf_arr[p.values == 0.5] = 0.0
      ppf_arr[p.values <= 0] = -np.inf
      ppf_arr[p.values >= 1] = np.inf
  
      mask1 = (p.values < 0.5) & (p.values > 0)
      mask2 = (p.values < 1) & (p.values > 0.5)
      ppf_arr[mask1] = 1 / betaincinv(
          0.5 * d._df[mask1], 0.5, 2 * ppf_arr[mask1]
      )
      ppf_arr[mask2] = 1 / betaincinv(
          0.5 * d._df[mask2], 0.5, 2 * (1 - ppf_arr[mask2])
      )
      ppf_arr[mask1 | mask2] = np.sqrt(ppf_arr[mask1 | mask2] - 1)
      ppf_arr[mask1 | mask2] = (
          np.sqrt(d._df[mask1 | mask2]) * ppf_arr[mask1 | mask2]
      )
      ppf_arr[mask1] = -ppf_arr[mask1]
      return pd.DataFrame(ppf_arr, index=p.index, columns=p.columns)
  
file_path: sktime/sktime/proba/t.py
imports: import numpy
  import pandas
  from scipy.special import betaincinv, gamma, hyp2f1, loggamma
  from sktime.proba.base import BaseDistribution
label_desc: Use image node_id 7 for calling the TDistribution obj's underlying member method code with example usage: obj.ppf(p) and returns: pd