title: Pyspark: how are dataframe describe() and summary() implemented
body: <p>I want to know how <code>df.describe()</code> and <code>df.summary()</code> is implemented</p>
  
  <p>As in <a href="https://spark.apache.org/docs/latest/api/python/_modules/pyspark/sql/dataframe.html#DataFrame.summary" rel="noreferrer">https://spark.apache.org/docs/latest/api/python/_modules/pyspark/sql/dataframe.html#DataFrame.summary</a></p>
  
  <pre><code>def summary(self, *statistics):
      if len(statistics) == 1 and isinstance(statistics[0], list):
          statistics = statistics[0]
      jdf = self._jdf.summary(self._jseq(statistics))
      return DataFrame(jdf, self.sql_ctx)
  </code></pre>
  
  <p>I'm not very familliar with OO in python and I'm a bit confused. Where is the quantile and other statistics implemented?</p>