This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/datafusion-python.git
commit f3e21cd2a0e069ed48ac2e44f2977a66ddeec3a5
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Sat Mar 15 11:05:35 2025 +0000
Publish built docs triggered by 2f52688d76e84794343c17ffaf3002534ecfd716
---
_sources/autoapi/datafusion/index.rst.txt | 72 ++++++++++---
_sources/autoapi/datafusion/udf/index.rst.txt | 72 ++++++++++---
autoapi/datafusion/index.html | 134 +++++++++++++++++++------
autoapi/datafusion/udf/index.html | 128 ++++++++++++++++++-----
genindex.html | 28 +++++-
objects.inv | Bin 6105 -> 6195 bytes
searchindex.js | 2 +-
user-guide/common-operations/aggregations.html | 122 +++++++++++-----------
user-guide/common-operations/basic-info.html | 46 ++++-----
user-guide/common-operations/functions.html | 20 ++--
10 files changed, 448 insertions(+), 176 deletions(-)
diff --git a/_sources/autoapi/datafusion/index.rst.txt
b/_sources/autoapi/datafusion/index.rst.txt
index 21fec692..47e36559 100644
--- a/_sources/autoapi/datafusion/index.rst.txt
+++ b/_sources/autoapi/datafusion/index.rst.txt
@@ -1366,27 +1366,64 @@ Package Contents
- .. py:method:: udwf(func: Callable[[], WindowEvaluator], input_types:
pyarrow.DataType | list[pyarrow.DataType], return_type: pyarrow.DataType,
volatility: Volatility | str, name: Optional[str] = None) -> WindowUDF
+ .. py:method:: _create_window_udf(func: Callable[[], WindowEvaluator],
input_types: pyarrow.DataType | list[pyarrow.DataType], return_type:
pyarrow.DataType, volatility: Volatility | str, name: Optional[str] = None) ->
WindowUDF
:staticmethod:
- Create a new User-Defined Window Function.
+ Create a WindowUDF instance from function arguments.
- If your :py:class:`WindowEvaluator` can be instantiated with no
arguments, you
- can simply pass it's type as ``func``. If you need to pass additional
arguments
- to it's constructor, you can define a lambda or a factory method. During
runtime
- the :py:class:`WindowEvaluator` will be constructed for every instance in
- which this UDWF is used. The following examples are all valid.
- .. code-block:: python
+ .. py:method:: _create_window_udf_decorator(input_types: pyarrow.DataType |
list[pyarrow.DataType], return_type: pyarrow.DataType, volatility: Volatility |
str, name: Optional[str] = None) -> Callable[[Callable[[], WindowEvaluator]],
Callable[Ellipsis, datafusion.expr.Expr]]
+ :staticmethod:
+
+
+ Create a decorator for a WindowUDF.
+
+
+
+ .. py:method:: _get_default_name(func: Callable) -> str
+ :staticmethod:
+
+
+ Get the default name for a function based on its attributes.
+
+
+
+ .. py:method:: _normalize_input_types(input_types: pyarrow.DataType |
list[pyarrow.DataType]) -> list[pyarrow.DataType]
+ :staticmethod:
+
+
+ Convert a single DataType to a list if needed.
+
+
+
+ .. py:method:: udwf(input_types: pyarrow.DataType | list[pyarrow.DataType],
return_type: pyarrow.DataType, volatility: Volatility | str, name:
Optional[str] = None) -> Callable[Ellipsis, WindowUDF]
+ udwf(func: Callable[[], WindowEvaluator], input_types:
pyarrow.DataType | list[pyarrow.DataType], return_type: pyarrow.DataType,
volatility: Volatility | str, name: Optional[str] = None) -> WindowUDF
+ :staticmethod:
+
+
+ Create a new User-Defined Window Function (UDWF).
+
+ This class can be used both as a **function** and as a **decorator**.
+
+ Usage:
+ - **As a function**: Call `udwf(func, input_types, return_type,
volatility,
+ name)`.
+ - **As a decorator**: Use `@udwf(input_types, return_type,
volatility,
+ name)`. When using `udwf` as a decorator, **do not pass `func`
+ explicitly**.
+
+ **Function example:**
+ ```
import pyarrow as pa
class BiasedNumbers(WindowEvaluator):
def __init__(self, start: int = 0) -> None:
self.start = start
- def evaluate_all(self, values: list[pa.Array], num_rows: int) ->
pa.Array:
+ def evaluate_all(self, values: list[pa.Array],
+ num_rows: int) -> pa.Array:
return pa.array([self.start + i for i in range(num_rows)])
def bias_10() -> BiasedNumbers:
@@ -1396,14 +1433,23 @@ Package Contents
udwf2 = udwf(bias_10, pa.int64(), pa.int64(), "immutable")
udwf3 = udwf(lambda: BiasedNumbers(20), pa.int64(), pa.int64(),
"immutable")
- :param func: A callable to create the window function.
- :param input_types: The data types of the arguments to ``func``.
+ ```
+
+ **Decorator example:**
+ ```
+ @udwf(pa.int64(), pa.int64(), "immutable")
+ def biased_numbers() -> BiasedNumbers:
+ return BiasedNumbers(10)
+ ```
+
+ :param func: **Only needed when calling as a function. Skip this
argument when
+ using `udwf` as a decorator.**
+ :param input_types: The data types of the arguments.
:param return_type: The data type of the return value.
:param volatility: See :py:class:`Volatility` for allowed values.
- :param arguments: A list of arguments to pass in to the __init__ method
for accum.
:param name: A descriptive name for the function.
- :returns: A user-defined window function.
+ :returns: A user-defined window function that can be used in window
function calls.
diff --git a/_sources/autoapi/datafusion/udf/index.rst.txt
b/_sources/autoapi/datafusion/udf/index.rst.txt
index bfbabdd1..882bbcde 100644
--- a/_sources/autoapi/datafusion/udf/index.rst.txt
+++ b/_sources/autoapi/datafusion/udf/index.rst.txt
@@ -498,27 +498,64 @@ Module Contents
- .. py:method:: udwf(func: Callable[[], WindowEvaluator], input_types:
pyarrow.DataType | list[pyarrow.DataType], return_type: pyarrow.DataType,
volatility: Volatility | str, name: Optional[str] = None) -> WindowUDF
+ .. py:method:: _create_window_udf(func: Callable[[], WindowEvaluator],
input_types: pyarrow.DataType | list[pyarrow.DataType], return_type:
pyarrow.DataType, volatility: Volatility | str, name: Optional[str] = None) ->
WindowUDF
:staticmethod:
- Create a new User-Defined Window Function.
+ Create a WindowUDF instance from function arguments.
- If your :py:class:`WindowEvaluator` can be instantiated with no
arguments, you
- can simply pass it's type as ``func``. If you need to pass additional
arguments
- to it's constructor, you can define a lambda or a factory method. During
runtime
- the :py:class:`WindowEvaluator` will be constructed for every instance in
- which this UDWF is used. The following examples are all valid.
- .. code-block:: python
+ .. py:method:: _create_window_udf_decorator(input_types: pyarrow.DataType |
list[pyarrow.DataType], return_type: pyarrow.DataType, volatility: Volatility |
str, name: Optional[str] = None) -> Callable[[Callable[[], WindowEvaluator]],
Callable[Ellipsis, datafusion.expr.Expr]]
+ :staticmethod:
+
+
+ Create a decorator for a WindowUDF.
+
+
+
+ .. py:method:: _get_default_name(func: Callable) -> str
+ :staticmethod:
+
+
+ Get the default name for a function based on its attributes.
+
+
+
+ .. py:method:: _normalize_input_types(input_types: pyarrow.DataType |
list[pyarrow.DataType]) -> list[pyarrow.DataType]
+ :staticmethod:
+
+
+ Convert a single DataType to a list if needed.
+
+
+
+ .. py:method:: udwf(input_types: pyarrow.DataType | list[pyarrow.DataType],
return_type: pyarrow.DataType, volatility: Volatility | str, name:
Optional[str] = None) -> Callable[Ellipsis, WindowUDF]
+ udwf(func: Callable[[], WindowEvaluator], input_types:
pyarrow.DataType | list[pyarrow.DataType], return_type: pyarrow.DataType,
volatility: Volatility | str, name: Optional[str] = None) -> WindowUDF
+ :staticmethod:
+
+
+ Create a new User-Defined Window Function (UDWF).
+
+ This class can be used both as a **function** and as a **decorator**.
+
+ Usage:
+ - **As a function**: Call `udwf(func, input_types, return_type,
volatility,
+ name)`.
+ - **As a decorator**: Use `@udwf(input_types, return_type,
volatility,
+ name)`. When using `udwf` as a decorator, **do not pass `func`
+ explicitly**.
+
+ **Function example:**
+ ```
import pyarrow as pa
class BiasedNumbers(WindowEvaluator):
def __init__(self, start: int = 0) -> None:
self.start = start
- def evaluate_all(self, values: list[pa.Array], num_rows: int) ->
pa.Array:
+ def evaluate_all(self, values: list[pa.Array],
+ num_rows: int) -> pa.Array:
return pa.array([self.start + i for i in range(num_rows)])
def bias_10() -> BiasedNumbers:
@@ -528,14 +565,23 @@ Module Contents
udwf2 = udwf(bias_10, pa.int64(), pa.int64(), "immutable")
udwf3 = udwf(lambda: BiasedNumbers(20), pa.int64(), pa.int64(),
"immutable")
- :param func: A callable to create the window function.
- :param input_types: The data types of the arguments to ``func``.
+ ```
+
+ **Decorator example:**
+ ```
+ @udwf(pa.int64(), pa.int64(), "immutable")
+ def biased_numbers() -> BiasedNumbers:
+ return BiasedNumbers(10)
+ ```
+
+ :param func: **Only needed when calling as a function. Skip this
argument when
+ using `udwf` as a decorator.**
+ :param input_types: The data types of the arguments.
:param return_type: The data type of the return value.
:param volatility: See :py:class:`Volatility` for allowed values.
- :param arguments: A list of arguments to pass in to the __init__ method
for accum.
:param name: A descriptive name for the function.
- :returns: A user-defined window function.
+ :returns: A user-defined window function that can be used in window
function calls.
diff --git a/autoapi/datafusion/index.html b/autoapi/datafusion/index.html
index 857afdae..43d12118 100644
--- a/autoapi/datafusion/index.html
+++ b/autoapi/datafusion/index.html
@@ -1753,6 +1753,42 @@
</code>
</a>
</li>
+ <li class="toc-h4 nav-item toc-entry">
+ <a class="reference internal nav-link"
href="#datafusion.WindowUDF._create_window_udf">
+ <code class="docutils literal notranslate">
+ <span class="pre">
+ WindowUDF._create_window_udf()
+ </span>
+ </code>
+ </a>
+ </li>
+ <li class="toc-h4 nav-item toc-entry">
+ <a class="reference internal nav-link"
href="#datafusion.WindowUDF._create_window_udf_decorator">
+ <code class="docutils literal notranslate">
+ <span class="pre">
+ WindowUDF._create_window_udf_decorator()
+ </span>
+ </code>
+ </a>
+ </li>
+ <li class="toc-h4 nav-item toc-entry">
+ <a class="reference internal nav-link"
href="#datafusion.WindowUDF._get_default_name">
+ <code class="docutils literal notranslate">
+ <span class="pre">
+ WindowUDF._get_default_name()
+ </span>
+ </code>
+ </a>
+ </li>
+ <li class="toc-h4 nav-item toc-entry">
+ <a class="reference internal nav-link"
href="#datafusion.WindowUDF._normalize_input_types">
+ <code class="docutils literal notranslate">
+ <span class="pre">
+ WindowUDF._normalize_input_types()
+ </span>
+ </code>
+ </a>
+ </li>
<li class="toc-h4 nav-item toc-entry">
<a class="reference internal nav-link" href="#datafusion.WindowUDF.udwf">
<code class="docutils literal notranslate">
@@ -3413,45 +3449,87 @@ descriptions.</p>
occur during the evaluation of the dataframe.</p>
</dd></dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="datafusion.WindowUDF._create_window_udf">
+<em class="property"><span class="pre">static</span><span class="w">
</span></em><span class="sig-name descname"><span
class="pre">_create_window_udf</span></span><span class="sig-paren">(</span><em
class="sig-param"><span class="n"><span class="pre">func</span></span><span
class="p"><span class="pre">:</span></span><span class="w"> </span><span
class="n"><span class="pre">Callable</span><span class="p"><span
class="pre">[</span></span><span class="p"><span class="pre">[</span></span><sp
[...]
+<dd><p>Create a WindowUDF instance from function arguments.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py"
id="datafusion.WindowUDF._create_window_udf_decorator">
+<em class="property"><span class="pre">static</span><span class="w">
</span></em><span class="sig-name descname"><span
class="pre">_create_window_udf_decorator</span></span><span
class="sig-paren">(</span><em class="sig-param"><span class="n"><span
class="pre">input_types</span></span><span class="p"><span
class="pre">:</span></span><span class="w"> </span><span class="n"><span
class="pre">pyarrow.DataType</span><span class="w"> </span><span
class="p"><span class="pre">|</span></span><sp [...]
+<dd><p>Create a decorator for a WindowUDF.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datafusion.WindowUDF._get_default_name">
+<em class="property"><span class="pre">static</span><span class="w">
</span></em><span class="sig-name descname"><span
class="pre">_get_default_name</span></span><span class="sig-paren">(</span><em
class="sig-param"><span class="n"><span class="pre">func</span></span><span
class="p"><span class="pre">:</span></span><span class="w"> </span><span
class="n"><span class="pre">Callable</span></span></em><span
class="sig-paren">)</span> <span class="sig-return"><span
class="sig-return-icon">&# [...]
+<dd><p>Get the default name for a function based on its attributes.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="datafusion.WindowUDF._normalize_input_types">
+<em class="property"><span class="pre">static</span><span class="w">
</span></em><span class="sig-name descname"><span
class="pre">_normalize_input_types</span></span><span
class="sig-paren">(</span><em class="sig-param"><span class="n"><span
class="pre">input_types</span></span><span class="p"><span
class="pre">:</span></span><span class="w"> </span><span class="n"><span
class="pre">pyarrow.DataType</span><span class="w"> </span><span
class="p"><span class="pre">|</span></span><span cla [...]
+<dd><p>Convert a single DataType to a list if needed.</p>
+</dd></dl>
+
<dl class="py method">
<dt class="sig sig-object py" id="datafusion.WindowUDF.udwf">
-<em class="property"><span class="pre">static</span><span class="w">
</span></em><span class="sig-name descname"><span
class="pre">udwf</span></span><span class="sig-paren">(</span><em
class="sig-param"><span class="n"><span class="pre">func</span></span><span
class="p"><span class="pre">:</span></span><span class="w"> </span><span
class="n"><span class="pre">Callable</span><span class="p"><span
class="pre">[</span></span><span class="p"><span
class="pre">[</span></span><span class="p">< [...]
-<dd><p>Create a new User-Defined Window Function.</p>
-<p>If your <code class="xref py py-class docutils literal notranslate"><span
class="pre">WindowEvaluator</span></code> can be instantiated with no
arguments, you
-can simply pass it’s type as <code class="docutils literal notranslate"><span
class="pre">func</span></code>. If you need to pass additional arguments
-to it’s constructor, you can define a lambda or a factory method. During
runtime
-the <code class="xref py py-class docutils literal notranslate"><span
class="pre">WindowEvaluator</span></code> will be constructed for every
instance in
-which this UDWF is used. The following examples are all valid.</p>
-<div class="highlight-python notranslate"><div
class="highlight"><pre><span></span><span class="kn">import</span><span
class="w"> </span><span class="nn">pyarrow</span><span class="w"> </span><span
class="k">as</span><span class="w"> </span><span class="nn">pa</span>
-
-<span class="k">class</span><span class="w"> </span><span
class="nc">BiasedNumbers</span><span class="p">(</span><span
class="n">WindowEvaluator</span><span class="p">):</span>
- <span class="k">def</span><span class="w"> </span><span
class="fm">__init__</span><span class="p">(</span><span
class="bp">self</span><span class="p">,</span> <span
class="n">start</span><span class="p">:</span> <span class="nb">int</span>
<span class="o">=</span> <span class="mi">0</span><span class="p">)</span>
<span class="o">-></span> <span class="kc">None</span><span
class="p">:</span>
- <span class="bp">self</span><span class="o">.</span><span
class="n">start</span> <span class="o">=</span> <span class="n">start</span>
-
- <span class="k">def</span><span class="w"> </span><span
class="nf">evaluate_all</span><span class="p">(</span><span
class="bp">self</span><span class="p">,</span> <span
class="n">values</span><span class="p">:</span> <span
class="nb">list</span><span class="p">[</span><span class="n">pa</span><span
class="o">.</span><span class="n">Array</span><span class="p">],</span> <span
class="n">num_rows</span><span class="p">:</span> <span
class="nb">int</span><span class="p">)</span> <span cl [...]
- <span class="k">return</span> <span class="n">pa</span><span
class="o">.</span><span class="n">array</span><span class="p">([</span><span
class="bp">self</span><span class="o">.</span><span class="n">start</span>
<span class="o">+</span> <span class="n">i</span> <span class="k">for</span>
<span class="n">i</span> <span class="ow">in</span> <span
class="nb">range</span><span class="p">(</span><span
class="n">num_rows</span><span class="p">)])</span>
-
-<span class="k">def</span><span class="w"> </span><span
class="nf">bias_10</span><span class="p">()</span> <span class="o">-></span>
<span class="n">BiasedNumbers</span><span class="p">:</span>
- <span class="k">return</span> <span class="n">BiasedNumbers</span><span
class="p">(</span><span class="mi">10</span><span class="p">)</span>
-
-<span class="n">udwf1</span> <span class="o">=</span> <span
class="n">udwf</span><span class="p">(</span><span
class="n">BiasedNumbers</span><span class="p">,</span> <span
class="n">pa</span><span class="o">.</span><span class="n">int64</span><span
class="p">(),</span> <span class="n">pa</span><span class="o">.</span><span
class="n">int64</span><span class="p">(),</span> <span
class="s2">"immutable"</span><span class="p">)</span>
-<span class="n">udwf2</span> <span class="o">=</span> <span
class="n">udwf</span><span class="p">(</span><span
class="n">bias_10</span><span class="p">,</span> <span class="n">pa</span><span
class="o">.</span><span class="n">int64</span><span class="p">(),</span> <span
class="n">pa</span><span class="o">.</span><span class="n">int64</span><span
class="p">(),</span> <span class="s2">"immutable"</span><span
class="p">)</span>
-<span class="n">udwf3</span> <span class="o">=</span> <span
class="n">udwf</span><span class="p">(</span><span class="k">lambda</span><span
class="p">:</span> <span class="n">BiasedNumbers</span><span
class="p">(</span><span class="mi">20</span><span class="p">),</span> <span
class="n">pa</span><span class="o">.</span><span class="n">int64</span><span
class="p">(),</span> <span class="n">pa</span><span class="o">.</span><span
class="n">int64</span><span class="p">(),</span> <span class=" [...]
-</pre></div>
-</div>
+<em class="property"><span class="pre">static</span><span class="w">
</span></em><span class="sig-name descname"><span
class="pre">udwf</span></span><span class="sig-paren">(</span><em
class="sig-param"><span class="n"><span
class="pre">input_types</span></span><span class="p"><span
class="pre">:</span></span><span class="w"> </span><span class="n"><span
class="pre">pyarrow.DataType</span><span class="w"> </span><span
class="p"><span class="pre">|</span></span><span class="w"> </span><sp [...]
+<dt class="sig sig-object py">
+<em class="property"><span class="pre">static</span><span class="w">
</span></em><span class="sig-name descname"><span
class="pre">udwf</span></span><span class="sig-paren">(</span><em
class="sig-param"><span class="n"><span class="pre">func</span></span><span
class="p"><span class="pre">:</span></span><span class="w"> </span><span
class="n"><span class="pre">Callable</span><span class="p"><span
class="pre">[</span></span><span class="p"><span
class="pre">[</span></span><span class="p">< [...]
+<dd><p>Create a new User-Defined Window Function (UDWF).</p>
+<p>This class can be used both as a <strong>function</strong> and as a
<strong>decorator</strong>.</p>
+<dl>
+<dt>Usage:</dt><dd><ul class="simple">
+<li><p><strong>As a function</strong>: Call <cite>udwf(func, input_types,
return_type, volatility,
+name)</cite>.</p></li>
+<li><p><strong>As a decorator</strong>: Use <cite>@udwf(input_types,
return_type, volatility,
+name)</cite>. When using <cite>udwf</cite> as a decorator, <strong>do not pass
`func`
+explicitly</strong>.</p></li>
+</ul>
+</dd>
+<dt><strong>Function example:</strong></dt><dd><p><a href="#id29"><span
class="problematic" id="id30">``</span></a>`
+import pyarrow as pa</p>
+<dl class="simple">
+<dt>class BiasedNumbers(WindowEvaluator):</dt><dd><dl class="simple">
+<dt>def __init__(self, start: int = 0) -> None:</dt><dd><p>self.start =
start</p>
+</dd>
+<dt>def evaluate_all(self, values: list[pa.Array],</dt><dd><p>num_rows: int)
-> pa.Array:
+return pa.array([self.start + i for i in range(num_rows)])</p>
+</dd>
+</dl>
+</dd>
+<dt>def bias_10() -> BiasedNumbers:</dt><dd><p>return BiasedNumbers(10)</p>
+</dd>
+</dl>
+<p>udwf1 = udwf(BiasedNumbers, pa.int64(), pa.int64(), “immutable”)
+udwf2 = udwf(bias_10, pa.int64(), pa.int64(), “immutable”)
+udwf3 = udwf(lambda: BiasedNumbers(20), pa.int64(), pa.int64(),
“immutable”)</p>
+<p><a href="#id31"><span class="problematic" id="id32">``</span></a><a
href="#id33"><span class="problematic" id="id34">`</span></a></p>
+</dd>
+<dt><strong>Decorator example:</strong></dt><dd><p><a href="#id35"><span
class="problematic" id="id36">``</span></a>`
+@udwf(pa.int64(), pa.int64(), “immutable”)
+def biased_numbers() -> BiasedNumbers:</p>
+<blockquote>
+<div><p>return BiasedNumbers(10)</p>
+</div></blockquote>
+<p><a href="#id37"><span class="problematic" id="id38">``</span></a><a
href="#id39"><span class="problematic" id="id40">`</span></a></p>
+</dd>
+</dl>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
-<li><p><strong>func</strong> – A callable to create the window
function.</p></li>
-<li><p><strong>input_types</strong> – The data types of the arguments to <code
class="docutils literal notranslate"><span
class="pre">func</span></code>.</p></li>
+<li><p><strong>func</strong> – <strong>Only needed when calling as a function.
Skip this argument when
+using `udwf` as a decorator.</strong></p></li>
+<li><p><strong>input_types</strong> – The data types of the arguments.</p></li>
<li><p><strong>return_type</strong> – The data type of the return
value.</p></li>
<li><p><strong>volatility</strong> – See <code class="xref py py-class
docutils literal notranslate"><span class="pre">Volatility</span></code> for
allowed values.</p></li>
-<li><p><strong>arguments</strong> – A list of arguments to pass in to the
__init__ method for accum.</p></li>
<li><p><strong>name</strong> – A descriptive name for the function.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
-<dd class="field-even"><p>A user-defined window function.</p>
+<dd class="field-even"><p>A user-defined window function that can be used in
window function calls.</p>
</dd>
</dl>
</dd></dl>
diff --git a/autoapi/datafusion/udf/index.html
b/autoapi/datafusion/udf/index.html
index 366f1e8e..9f0f6740 100644
--- a/autoapi/datafusion/udf/index.html
+++ b/autoapi/datafusion/udf/index.html
@@ -669,6 +669,42 @@
</code>
</a>
</li>
+ <li class="toc-h4 nav-item toc-entry">
+ <a class="reference internal nav-link"
href="#datafusion.udf.WindowUDF._create_window_udf">
+ <code class="docutils literal notranslate">
+ <span class="pre">
+ WindowUDF._create_window_udf()
+ </span>
+ </code>
+ </a>
+ </li>
+ <li class="toc-h4 nav-item toc-entry">
+ <a class="reference internal nav-link"
href="#datafusion.udf.WindowUDF._create_window_udf_decorator">
+ <code class="docutils literal notranslate">
+ <span class="pre">
+ WindowUDF._create_window_udf_decorator()
+ </span>
+ </code>
+ </a>
+ </li>
+ <li class="toc-h4 nav-item toc-entry">
+ <a class="reference internal nav-link"
href="#datafusion.udf.WindowUDF._get_default_name">
+ <code class="docutils literal notranslate">
+ <span class="pre">
+ WindowUDF._get_default_name()
+ </span>
+ </code>
+ </a>
+ </li>
+ <li class="toc-h4 nav-item toc-entry">
+ <a class="reference internal nav-link"
href="#datafusion.udf.WindowUDF._normalize_input_types">
+ <code class="docutils literal notranslate">
+ <span class="pre">
+ WindowUDF._normalize_input_types()
+ </span>
+ </code>
+ </a>
+ </li>
<li class="toc-h4 nav-item toc-entry">
<a class="reference internal nav-link"
href="#datafusion.udf.WindowUDF.udwf">
<code class="docutils literal notranslate">
@@ -1259,44 +1295,86 @@ occur during the evaluation of the dataframe.</p>
</dd></dl>
<dl class="py method">
-<dt class="sig sig-object py" id="datafusion.udf.WindowUDF.udwf">
-<em class="property"><span class="pre">static</span><span class="w">
</span></em><span class="sig-name descname"><span
class="pre">udwf</span></span><span class="sig-paren">(</span><em
class="sig-param"><span class="n"><span class="pre">func</span></span><span
class="p"><span class="pre">:</span></span><span class="w"> </span><span
class="n"><span class="pre">Callable</span><span class="p"><span
class="pre">[</span></span><span class="p"><span
class="pre">[</span></span><span class="p">< [...]
-<dd><p>Create a new User-Defined Window Function.</p>
-<p>If your <a class="reference internal"
href="#datafusion.udf.WindowEvaluator"
title="datafusion.udf.WindowEvaluator"><code class="xref py py-class docutils
literal notranslate"><span class="pre">WindowEvaluator</span></code></a> can be
instantiated with no arguments, you
-can simply pass it’s type as <code class="docutils literal notranslate"><span
class="pre">func</span></code>. If you need to pass additional arguments
-to it’s constructor, you can define a lambda or a factory method. During
runtime
-the <a class="reference internal" href="#datafusion.udf.WindowEvaluator"
title="datafusion.udf.WindowEvaluator"><code class="xref py py-class docutils
literal notranslate"><span class="pre">WindowEvaluator</span></code></a> will
be constructed for every instance in
-which this UDWF is used. The following examples are all valid.</p>
-<div class="highlight-python notranslate"><div
class="highlight"><pre><span></span><span class="kn">import</span><span
class="w"> </span><span class="nn">pyarrow</span><span class="w"> </span><span
class="k">as</span><span class="w"> </span><span class="nn">pa</span>
+<dt class="sig sig-object py" id="datafusion.udf.WindowUDF._create_window_udf">
+<em class="property"><span class="pre">static</span><span class="w">
</span></em><span class="sig-name descname"><span
class="pre">_create_window_udf</span></span><span class="sig-paren">(</span><em
class="sig-param"><span class="n"><span class="pre">func</span></span><span
class="p"><span class="pre">:</span></span><span class="w"> </span><span
class="n"><span class="pre">Callable</span><span class="p"><span
class="pre">[</span></span><span class="p"><span class="pre">[</span></span><sp
[...]
+<dd><p>Create a WindowUDF instance from function arguments.</p>
+</dd></dl>
-<span class="k">class</span><span class="w"> </span><span
class="nc">BiasedNumbers</span><span class="p">(</span><span
class="n">WindowEvaluator</span><span class="p">):</span>
- <span class="k">def</span><span class="w"> </span><span
class="fm">__init__</span><span class="p">(</span><span
class="bp">self</span><span class="p">,</span> <span
class="n">start</span><span class="p">:</span> <span class="nb">int</span>
<span class="o">=</span> <span class="mi">0</span><span class="p">)</span>
<span class="o">-></span> <span class="kc">None</span><span
class="p">:</span>
- <span class="bp">self</span><span class="o">.</span><span
class="n">start</span> <span class="o">=</span> <span class="n">start</span>
+<dl class="py method">
+<dt class="sig sig-object py"
id="datafusion.udf.WindowUDF._create_window_udf_decorator">
+<em class="property"><span class="pre">static</span><span class="w">
</span></em><span class="sig-name descname"><span
class="pre">_create_window_udf_decorator</span></span><span
class="sig-paren">(</span><em class="sig-param"><span class="n"><span
class="pre">input_types</span></span><span class="p"><span
class="pre">:</span></span><span class="w"> </span><span class="n"><span
class="pre">pyarrow.DataType</span><span class="w"> </span><span
class="p"><span class="pre">|</span></span><sp [...]
+<dd><p>Create a decorator for a WindowUDF.</p>
+</dd></dl>
- <span class="k">def</span><span class="w"> </span><span
class="nf">evaluate_all</span><span class="p">(</span><span
class="bp">self</span><span class="p">,</span> <span
class="n">values</span><span class="p">:</span> <span
class="nb">list</span><span class="p">[</span><span class="n">pa</span><span
class="o">.</span><span class="n">Array</span><span class="p">],</span> <span
class="n">num_rows</span><span class="p">:</span> <span
class="nb">int</span><span class="p">)</span> <span cl [...]
- <span class="k">return</span> <span class="n">pa</span><span
class="o">.</span><span class="n">array</span><span class="p">([</span><span
class="bp">self</span><span class="o">.</span><span class="n">start</span>
<span class="o">+</span> <span class="n">i</span> <span class="k">for</span>
<span class="n">i</span> <span class="ow">in</span> <span
class="nb">range</span><span class="p">(</span><span
class="n">num_rows</span><span class="p">)])</span>
+<dl class="py method">
+<dt class="sig sig-object py" id="datafusion.udf.WindowUDF._get_default_name">
+<em class="property"><span class="pre">static</span><span class="w">
</span></em><span class="sig-name descname"><span
class="pre">_get_default_name</span></span><span class="sig-paren">(</span><em
class="sig-param"><span class="n"><span class="pre">func</span></span><span
class="p"><span class="pre">:</span></span><span class="w"> </span><span
class="n"><span class="pre">Callable</span></span></em><span
class="sig-paren">)</span> <span class="sig-return"><span
class="sig-return-icon">&# [...]
+<dd><p>Get the default name for a function based on its attributes.</p>
+</dd></dl>
-<span class="k">def</span><span class="w"> </span><span
class="nf">bias_10</span><span class="p">()</span> <span class="o">-></span>
<span class="n">BiasedNumbers</span><span class="p">:</span>
- <span class="k">return</span> <span class="n">BiasedNumbers</span><span
class="p">(</span><span class="mi">10</span><span class="p">)</span>
+<dl class="py method">
+<dt class="sig sig-object py"
id="datafusion.udf.WindowUDF._normalize_input_types">
+<em class="property"><span class="pre">static</span><span class="w">
</span></em><span class="sig-name descname"><span
class="pre">_normalize_input_types</span></span><span
class="sig-paren">(</span><em class="sig-param"><span class="n"><span
class="pre">input_types</span></span><span class="p"><span
class="pre">:</span></span><span class="w"> </span><span class="n"><span
class="pre">pyarrow.DataType</span><span class="w"> </span><span
class="p"><span class="pre">|</span></span><span cla [...]
+<dd><p>Convert a single DataType to a list if needed.</p>
+</dd></dl>
-<span class="n">udwf1</span> <span class="o">=</span> <span
class="n">udwf</span><span class="p">(</span><span
class="n">BiasedNumbers</span><span class="p">,</span> <span
class="n">pa</span><span class="o">.</span><span class="n">int64</span><span
class="p">(),</span> <span class="n">pa</span><span class="o">.</span><span
class="n">int64</span><span class="p">(),</span> <span
class="s2">"immutable"</span><span class="p">)</span>
-<span class="n">udwf2</span> <span class="o">=</span> <span
class="n">udwf</span><span class="p">(</span><span
class="n">bias_10</span><span class="p">,</span> <span class="n">pa</span><span
class="o">.</span><span class="n">int64</span><span class="p">(),</span> <span
class="n">pa</span><span class="o">.</span><span class="n">int64</span><span
class="p">(),</span> <span class="s2">"immutable"</span><span
class="p">)</span>
-<span class="n">udwf3</span> <span class="o">=</span> <span
class="n">udwf</span><span class="p">(</span><span class="k">lambda</span><span
class="p">:</span> <span class="n">BiasedNumbers</span><span
class="p">(</span><span class="mi">20</span><span class="p">),</span> <span
class="n">pa</span><span class="o">.</span><span class="n">int64</span><span
class="p">(),</span> <span class="n">pa</span><span class="o">.</span><span
class="n">int64</span><span class="p">(),</span> <span class=" [...]
-</pre></div>
-</div>
+<dl class="py method">
+<dt class="sig sig-object py" id="datafusion.udf.WindowUDF.udwf">
+<em class="property"><span class="pre">static</span><span class="w">
</span></em><span class="sig-name descname"><span
class="pre">udwf</span></span><span class="sig-paren">(</span><em
class="sig-param"><span class="n"><span
class="pre">input_types</span></span><span class="p"><span
class="pre">:</span></span><span class="w"> </span><span class="n"><span
class="pre">pyarrow.DataType</span><span class="w"> </span><span
class="p"><span class="pre">|</span></span><span class="w"> </span><sp [...]
+<dt class="sig sig-object py">
+<em class="property"><span class="pre">static</span><span class="w">
</span></em><span class="sig-name descname"><span
class="pre">udwf</span></span><span class="sig-paren">(</span><em
class="sig-param"><span class="n"><span class="pre">func</span></span><span
class="p"><span class="pre">:</span></span><span class="w"> </span><span
class="n"><span class="pre">Callable</span><span class="p"><span
class="pre">[</span></span><span class="p"><span
class="pre">[</span></span><span class="p">< [...]
+<dd><p>Create a new User-Defined Window Function (UDWF).</p>
+<p>This class can be used both as a <strong>function</strong> and as a
<strong>decorator</strong>.</p>
+<dl>
+<dt>Usage:</dt><dd><ul class="simple">
+<li><p><strong>As a function</strong>: Call <cite>udwf(func, input_types,
return_type, volatility,
+name)</cite>.</p></li>
+<li><p><strong>As a decorator</strong>: Use <cite>@udwf(input_types,
return_type, volatility,
+name)</cite>. When using <cite>udwf</cite> as a decorator, <strong>do not pass
`func`
+explicitly</strong>.</p></li>
+</ul>
+</dd>
+<dt><strong>Function example:</strong></dt><dd><p><a href="#id29"><span
class="problematic" id="id30">``</span></a>`
+import pyarrow as pa</p>
+<dl class="simple">
+<dt>class BiasedNumbers(WindowEvaluator):</dt><dd><dl class="simple">
+<dt>def __init__(self, start: int = 0) -> None:</dt><dd><p>self.start =
start</p>
+</dd>
+<dt>def evaluate_all(self, values: list[pa.Array],</dt><dd><p>num_rows: int)
-> pa.Array:
+return pa.array([self.start + i for i in range(num_rows)])</p>
+</dd>
+</dl>
+</dd>
+<dt>def bias_10() -> BiasedNumbers:</dt><dd><p>return BiasedNumbers(10)</p>
+</dd>
+</dl>
+<p>udwf1 = udwf(BiasedNumbers, pa.int64(), pa.int64(), “immutable”)
+udwf2 = udwf(bias_10, pa.int64(), pa.int64(), “immutable”)
+udwf3 = udwf(lambda: BiasedNumbers(20), pa.int64(), pa.int64(),
“immutable”)</p>
+<p><a href="#id31"><span class="problematic" id="id32">``</span></a><a
href="#id33"><span class="problematic" id="id34">`</span></a></p>
+</dd>
+<dt><strong>Decorator example:</strong></dt><dd><p><a href="#id35"><span
class="problematic" id="id36">``</span></a>`
+@udwf(pa.int64(), pa.int64(), “immutable”)
+def biased_numbers() -> BiasedNumbers:</p>
+<blockquote>
+<div><p>return BiasedNumbers(10)</p>
+</div></blockquote>
+<p><a href="#id37"><span class="problematic" id="id38">``</span></a><a
href="#id39"><span class="problematic" id="id40">`</span></a></p>
+</dd>
+</dl>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
-<li><p><strong>func</strong> – A callable to create the window
function.</p></li>
-<li><p><strong>input_types</strong> – The data types of the arguments to <code
class="docutils literal notranslate"><span
class="pre">func</span></code>.</p></li>
+<li><p><strong>func</strong> – <strong>Only needed when calling as a function.
Skip this argument when
+using `udwf` as a decorator.</strong></p></li>
+<li><p><strong>input_types</strong> – The data types of the arguments.</p></li>
<li><p><strong>return_type</strong> – The data type of the return
value.</p></li>
<li><p><strong>volatility</strong> – See <a class="reference internal"
href="#datafusion.udf.Volatility" title="datafusion.udf.Volatility"><code
class="xref py py-class docutils literal notranslate"><span
class="pre">Volatility</span></code></a> for allowed values.</p></li>
-<li><p><strong>arguments</strong> – A list of arguments to pass in to the
__init__ method for accum.</p></li>
<li><p><strong>name</strong> – A descriptive name for the function.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
-<dd class="field-even"><p>A user-defined window function.</p>
+<dd class="field-even"><p>A user-defined window function that can be used in
window function calls.</p>
</dd>
</dl>
</dd></dl>
diff --git a/genindex.html b/genindex.html
index 827d6143..857ec9f8 100644
--- a/genindex.html
+++ b/genindex.html
@@ -541,8 +541,6 @@
<li><a
href="autoapi/datafusion/expr/index.html#datafusion.expr.Expr.__radd__">(datafusion.expr.Expr
attribute)</a>
</li>
</ul></li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
<li><a
href="autoapi/datafusion/index.html#datafusion.Expr.__rand__">__rand__
(datafusion.Expr attribute)</a>
<ul>
@@ -567,6 +565,8 @@
<li><a
href="autoapi/datafusion/plan/index.html#datafusion.plan.LogicalPlan.__repr__">(datafusion.plan.LogicalPlan
method)</a>
</li>
</ul></li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
<li><a
href="autoapi/datafusion/index.html#datafusion.Expr.__richcmp__">__richcmp__()
(datafusion.Expr method)</a>
<ul>
@@ -615,6 +615,30 @@
<ul>
<li><a
href="autoapi/datafusion/expr/index.html#datafusion.expr.Expr.__truediv__">(datafusion.expr.Expr
method)</a>
+</li>
+ </ul></li>
+ <li><a
href="autoapi/datafusion/udf/index.html#datafusion.udf.WindowUDF._create_window_udf">_create_window_udf()
(datafusion.udf.WindowUDF static method)</a>
+
+ <ul>
+ <li><a
href="autoapi/datafusion/index.html#datafusion.WindowUDF._create_window_udf">(datafusion.WindowUDF
static method)</a>
+</li>
+ </ul></li>
+ <li><a
href="autoapi/datafusion/udf/index.html#datafusion.udf.WindowUDF._create_window_udf_decorator">_create_window_udf_decorator()
(datafusion.udf.WindowUDF static method)</a>
+
+ <ul>
+ <li><a
href="autoapi/datafusion/index.html#datafusion.WindowUDF._create_window_udf_decorator">(datafusion.WindowUDF
static method)</a>
+</li>
+ </ul></li>
+ <li><a
href="autoapi/datafusion/udf/index.html#datafusion.udf.WindowUDF._get_default_name">_get_default_name()
(datafusion.udf.WindowUDF static method)</a>
+
+ <ul>
+ <li><a
href="autoapi/datafusion/index.html#datafusion.WindowUDF._get_default_name">(datafusion.WindowUDF
static method)</a>
+</li>
+ </ul></li>
+ <li><a
href="autoapi/datafusion/udf/index.html#datafusion.udf.WindowUDF._normalize_input_types">_normalize_input_types()
(datafusion.udf.WindowUDF static method)</a>
+
+ <ul>
+ <li><a
href="autoapi/datafusion/index.html#datafusion.WindowUDF._normalize_input_types">(datafusion.WindowUDF
static method)</a>
</li>
</ul></li>
<li><a
href="autoapi/datafusion/expr/index.html#datafusion.expr.Window._null_treatment">_null_treatment
(datafusion.expr.Window attribute)</a>
diff --git a/objects.inv b/objects.inv
index 3a762419..440b43d4 100644
Binary files a/objects.inv and b/objects.inv differ
diff --git a/searchindex.js b/searchindex.js
index d860d907..b711b312 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"API Reference": [[15, null]], "Aggregate
Functions": [[20, "aggregate-functions"], [27, "aggregate-functions"], [29,
"aggregate-functions"]], "Aggregation": [[20, null]], "Alternative Approach":
[[16, "alternative-approach"]], "Arrays": [[22, "arrays"]], "Arrow": [[33,
null]], "Attributes": [[3, "attributes"], [5, "attributes"], [10,
"attributes"], [14, "attributes"]], "Available Functions": [[29,
"available-functions"]], "Avro": [[34, null]], "Basic Opera [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"API Reference": [[15, null]], "Aggregate
Functions": [[20, "aggregate-functions"], [27, "aggregate-functions"], [29,
"aggregate-functions"]], "Aggregation": [[20, null]], "Alternative Approach":
[[16, "alternative-approach"]], "Arrays": [[22, "arrays"]], "Arrow": [[33,
null]], "Attributes": [[3, "attributes"], [5, "attributes"], [10,
"attributes"], [14, "attributes"]], "Available Functions": [[29,
"available-functions"]], "Avro": [[34, null]], "Basic Opera [...]
\ No newline at end of file
diff --git a/user-guide/common-operations/aggregations.html
b/user-guide/common-operations/aggregations.html
index 199f6f81..5af7465b 100644
--- a/user-guide/common-operations/aggregations.html
+++ b/user-guide/common-operations/aggregations.html
@@ -479,20 +479,20 @@ For grouping the <code class="code docutils literal
notranslate"><span class="pr
<span class="o">...</span><span class="p">:</span>
<span class="n">Out</span><span class="p">[</span><span
class="mi">9</span><span class="p">]:</span>
<span class="n">DataFrame</span><span class="p">()</span>
-<span class="o">+----------+-----------+-------------------+-----------+</span>
-<span class="o">|</span> <span class="n">Type</span> <span class="mi">1</span>
<span class="o">|</span> <span class="n">Max</span> <span
class="n">Speed</span> <span class="o">|</span> <span class="n">Avg</span>
<span class="n">Speed</span> <span class="o">|</span> <span
class="n">Min</span> <span class="n">Speed</span> <span class="o">|</span>
-<span class="o">+----------+-----------+-------------------+-----------+</span>
-<span class="o">|</span> <span class="n">Grass</span> <span
class="o">|</span> <span class="mi">80</span> <span class="o">|</span>
<span class="mf">54.23076923076923</span> <span class="o">|</span> <span
class="mi">30</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Fire</span> <span
class="o">|</span> <span class="mi">105</span> <span class="o">|</span>
<span class="mf">86.28571428571429</span> <span class="o">|</span> <span
class="mi">60</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="mi">115</span> <span class="o">|</span>
<span class="mf">67.25806451612904</span> <span class="o">|</span> <span
class="mi">15</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Ground</span> <span
class="o">|</span> <span class="mi">120</span> <span class="o">|</span>
<span class="mf">58.125</span> <span class="o">|</span> <span
class="mi">25</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Fighting</span> <span
class="o">|</span> <span class="mi">95</span> <span class="o">|</span>
<span class="mf">66.14285714285714</span> <span class="o">|</span> <span
class="mi">35</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Psychic</span> <span
class="o">|</span> <span class="mi">150</span> <span class="o">|</span>
<span class="mf">99.25</span> <span class="o">|</span> <span
class="mi">42</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Rock</span> <span
class="o">|</span> <span class="mi">150</span> <span class="o">|</span>
<span class="mf">67.5</span> <span class="o">|</span> <span
class="mi">20</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Ghost</span> <span
class="o">|</span> <span class="mi">130</span> <span class="o">|</span>
<span class="mf">103.75</span> <span class="o">|</span> <span
class="mi">80</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Dragon</span> <span
class="o">|</span> <span class="mi">80</span> <span class="o">|</span>
<span class="mf">66.66666666666667</span> <span class="o">|</span> <span
class="mi">50</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Normal</span> <span
class="o">|</span> <span class="mi">121</span> <span class="o">|</span>
<span class="mf">72.75</span> <span class="o">|</span> <span
class="mi">20</span> <span class="o">|</span>
-<span class="o">+----------+-----------+-------------------+-----------+</span>
+<span
class="o">+----------+-----------+--------------------+-----------+</span>
+<span class="o">|</span> <span class="n">Type</span> <span class="mi">1</span>
<span class="o">|</span> <span class="n">Max</span> <span
class="n">Speed</span> <span class="o">|</span> <span class="n">Avg</span>
<span class="n">Speed</span> <span class="o">|</span> <span
class="n">Min</span> <span class="n">Speed</span> <span class="o">|</span>
+<span
class="o">+----------+-----------+--------------------+-----------+</span>
+<span class="o">|</span> <span class="n">Bug</span> <span
class="o">|</span> <span class="mi">145</span> <span class="o">|</span>
<span class="mf">66.78571428571429</span> <span class="o">|</span> <span
class="mi">25</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Poison</span> <span
class="o">|</span> <span class="mi">90</span> <span class="o">|</span>
<span class="mf">58.785714285714285</span> <span class="o">|</span> <span
class="mi">25</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Electric</span> <span
class="o">|</span> <span class="mi">140</span> <span class="o">|</span>
<span class="mf">98.88888888888889</span> <span class="o">|</span> <span
class="mi">45</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Fairy</span> <span
class="o">|</span> <span class="mi">60</span> <span class="o">|</span>
<span class="mf">47.5</span> <span class="o">|</span> <span
class="mi">35</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Grass</span> <span
class="o">|</span> <span class="mi">80</span> <span class="o">|</span>
<span class="mf">54.23076923076923</span> <span class="o">|</span> <span
class="mi">30</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Fire</span> <span
class="o">|</span> <span class="mi">105</span> <span class="o">|</span>
<span class="mf">86.28571428571429</span> <span class="o">|</span> <span
class="mi">60</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="mi">115</span> <span class="o">|</span>
<span class="mf">67.25806451612904</span> <span class="o">|</span> <span
class="mi">15</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Ground</span> <span
class="o">|</span> <span class="mi">120</span> <span class="o">|</span>
<span class="mf">58.125</span> <span class="o">|</span> <span
class="mi">25</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Fighting</span> <span
class="o">|</span> <span class="mi">95</span> <span class="o">|</span>
<span class="mf">66.14285714285714</span> <span class="o">|</span> <span
class="mi">35</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Psychic</span> <span
class="o">|</span> <span class="mi">150</span> <span class="o">|</span>
<span class="mf">99.25</span> <span class="o">|</span> <span
class="mi">42</span> <span class="o">|</span>
+<span
class="o">+----------+-----------+--------------------+-----------+</span>
</pre></div>
</div>
<p>More than one column can be used for grouping</p>
@@ -503,20 +503,20 @@ For grouping the <code class="code docutils literal
notranslate"><span class="pr
<span class="o">....</span><span class="p">:</span>
<span class="n">Out</span><span class="p">[</span><span
class="mi">10</span><span class="p">]:</span>
<span class="n">DataFrame</span><span class="p">()</span>
-<span
class="o">+----------+--------+-----------+--------------------+-----------+</span>
-<span class="o">|</span> <span class="n">Type</span> <span class="mi">1</span>
<span class="o">|</span> <span class="n">Type</span> <span
class="mi">2</span> <span class="o">|</span> <span class="n">Max</span> <span
class="n">Speed</span> <span class="o">|</span> <span class="n">Avg</span>
<span class="n">Speed</span> <span class="o">|</span> <span
class="n">Min</span> <span class="n">Speed</span> <span class="o">|</span>
-<span
class="o">+----------+--------+-----------+--------------------+-----------+</span>
-<span class="o">|</span> <span class="n">Fire</span> <span
class="o">|</span> <span class="o">|</span> <span class="mi">105</span>
<span class="o">|</span> <span class="mf">81.8</span> <span
class="o">|</span> <span class="mi">60</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="o">|</span> <span class="mi">90</span>
<span class="o">|</span> <span class="mf">68.05263157894737</span> <span
class="o">|</span> <span class="mi">40</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Ground</span> <span
class="o">|</span> <span class="o">|</span> <span class="mi">120</span>
<span class="o">|</span> <span class="mf">66.66666666666667</span> <span
class="o">|</span> <span class="mi">35</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Normal</span> <span
class="o">|</span> <span class="n">Fairy</span> <span class="o">|</span> <span
class="mi">45</span> <span class="o">|</span> <span
class="mf">32.5</span> <span class="o">|</span> <span
class="mi">20</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Fighting</span> <span
class="o">|</span> <span class="o">|</span> <span class="mi">95</span>
<span class="o">|</span> <span class="mf">66.14285714285714</span> <span
class="o">|</span> <span class="mi">35</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Psychic</span> <span
class="o">|</span> <span class="o">|</span> <span class="mi">150</span>
<span class="o">|</span> <span class="mf">100.57142857142857</span> <span
class="o">|</span> <span class="mi">42</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Grass</span> <span
class="o">|</span> <span class="o">|</span> <span class="mi">60</span>
<span class="o">|</span> <span class="mf">60.0</span> <span
class="o">|</span> <span class="mi">60</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Dragon</span> <span
class="o">|</span> <span class="o">|</span> <span class="mi">70</span>
<span class="o">|</span> <span class="mf">60.0</span> <span
class="o">|</span> <span class="mi">50</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Grass</span> <span
class="o">|</span> <span class="n">Poison</span> <span class="o">|</span> <span
class="mi">80</span> <span class="o">|</span> <span
class="mf">55.0</span> <span class="o">|</span> <span
class="mi">30</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Bug</span> <span
class="o">|</span> <span class="n">Flying</span> <span class="o">|</span> <span
class="mi">105</span> <span class="o">|</span> <span
class="mf">93.33333333333333</span> <span class="o">|</span> <span
class="mi">70</span> <span class="o">|</span>
-<span
class="o">+----------+--------+-----------+--------------------+-----------+</span>
+<span
class="o">+----------+--------+-----------+-------------------+-----------+</span>
+<span class="o">|</span> <span class="n">Type</span> <span class="mi">1</span>
<span class="o">|</span> <span class="n">Type</span> <span
class="mi">2</span> <span class="o">|</span> <span class="n">Max</span> <span
class="n">Speed</span> <span class="o">|</span> <span class="n">Avg</span>
<span class="n">Speed</span> <span class="o">|</span> <span
class="n">Min</span> <span class="n">Speed</span> <span class="o">|</span>
+<span
class="o">+----------+--------+-----------+-------------------+-----------+</span>
+<span class="o">|</span> <span class="n">Grass</span> <span
class="o">|</span> <span class="n">Poison</span> <span class="o">|</span> <span
class="mi">80</span> <span class="o">|</span> <span
class="mf">55.0</span> <span class="o">|</span> <span
class="mi">30</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Bug</span> <span
class="o">|</span> <span class="n">Flying</span> <span class="o">|</span> <span
class="mi">105</span> <span class="o">|</span> <span
class="mf">93.33333333333333</span> <span class="o">|</span> <span
class="mi">70</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Poison</span> <span
class="o">|</span> <span class="n">Ground</span> <span class="o">|</span> <span
class="mi">85</span> <span class="o">|</span> <span
class="mf">80.5</span> <span class="o">|</span> <span
class="mi">76</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Poison</span> <span
class="o">|</span> <span class="n">Flying</span> <span class="o">|</span> <span
class="mi">90</span> <span class="o">|</span> <span
class="mf">72.5</span> <span class="o">|</span> <span
class="mi">55</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Bug</span> <span
class="o">|</span> <span class="n">Grass</span> <span class="o">|</span> <span
class="mi">30</span> <span class="o">|</span> <span
class="mf">27.5</span> <span class="o">|</span> <span
class="mi">25</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="n">Poison</span> <span class="o">|</span> <span
class="mi">100</span> <span class="o">|</span> <span
class="mf">85.0</span> <span class="o">|</span> <span
class="mi">70</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Electric</span> <span
class="o">|</span> <span class="n">Steel</span> <span class="o">|</span> <span
class="mi">70</span> <span class="o">|</span> <span
class="mf">57.5</span> <span class="o">|</span> <span
class="mi">45</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Ghost</span> <span
class="o">|</span> <span class="n">Poison</span> <span class="o">|</span> <span
class="mi">130</span> <span class="o">|</span> <span
class="mf">103.75</span> <span class="o">|</span> <span
class="mi">80</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Psychic</span> <span
class="o">|</span> <span class="n">Fairy</span> <span class="o">|</span> <span
class="mi">90</span> <span class="o">|</span> <span
class="mf">90.0</span> <span class="o">|</span> <span
class="mi">90</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Electric</span> <span
class="o">|</span> <span class="n">Flying</span> <span class="o">|</span> <span
class="mi">100</span> <span class="o">|</span> <span
class="mf">100.0</span> <span class="o">|</span> <span
class="mi">100</span> <span class="o">|</span>
+<span
class="o">+----------+--------+-----------+-------------------+-----------+</span>
</pre></div>
</div>
<section id="setting-parameters">
@@ -574,16 +574,16 @@ Pokemon set. Since there will be many entries of <code
class="docutils literal n
<span
class="o">+----------+--------------------------------------------------+</span>
<span class="o">|</span> <span class="n">Type</span> <span class="mi">1</span>
<span class="o">|</span> <span class="n">Type</span> <span
class="mi">2</span> <span class="n">List</span>
<span class="o">|</span>
<span
class="o">+----------+--------------------------------------------------+</span>
-<span class="o">|</span> <span class="n">Normal</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Fairy</span><span
class="p">,</span> <span class="p">,</span> <span class="n">Flying</span><span
class="p">]</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Ice</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Bug</span> <span
class="o">|</span> <span class="p">[,</span> <span class="n">Poison</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">,</span> <span
class="n">Grass</span><span class="p">]</span> <span
class="o">|</span>
-<span class="o">|</span> <span class="n">Poison</span> <span
class="o">|</span> <span class="p">[,</span> <span class="n">Ground</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Electric</span> <span
class="o">|</span> <span class="p">[,</span> <span class="n">Steel</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Normal</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Fairy</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">,</span> <span
class="p">]</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Ice</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Psychic</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Bug</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Grass</span><span class="p">,</span> <span
class="n">Poison</span><span class="p">,</span> <span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Poison</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Ground</span><span class="p">,</span> <span
class="p">]</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Electric</span> <span
class="o">|</span> <span class="p">[,</span> <span class="n">Flying</span><span
class="p">,</span> <span class="n">Steel</span><span class="p">]</span>
<span class="o">|</span>
<span class="o">|</span> <span class="n">Fairy</span> <span
class="o">|</span> <span class="p">[]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Grass</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Poison</span><span
class="p">,</span> <span class="p">,</span> <span class="n">Psychic</span><span
class="p">]</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Fire</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Dragon</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">,</span> <span
class="p">]</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="p">[,</span> <span
class="n">Fighting</span><span class="p">,</span> <span
class="n">Ice</span><span class="p">,</span> <span class="n">Poison</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">,</span> <span
class="n">Psychic</span><span class="p">,</span> <span
class="n">Dark</span><span class="p">]</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Ground</span> <span
class="o">|</span> <span class="p">[,</span> <span class="n">Rock</span><span
class="p">]</span> <span
class="o">|</span>
+<span class="o">|</span> <span class="n">Grass</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Poison</span><span
class="p">,</span> <span class="n">Psychic</span><span class="p">,</span> <span
class="p">]</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Fire</span> <span
class="o">|</span> <span class="p">[,</span> <span class="n">Dragon</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span
class="p">,</span> <span class="n">Poison</span><span class="p">,</span> <span
class="p">,</span> <span class="n">Flying</span><span class="p">,</span> <span
class="n">Ice</span><span class="p">,</span> <span class="n">Dark</span><span
class="p">,</span> <span class="n">Fighting</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Ground</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Rock</span><span
class="p">,</span> <span class="p">]</span>
<span class="o">|</span>
<span
class="o">+----------+--------------------------------------------------+</span>
</pre></div>
</div>
@@ -597,15 +597,15 @@ entries entirely removed. The second is we can use the
<code class="docutils lit
<span
class="o">+----------+------------------------------------------------+</span>
<span class="o">|</span> <span class="n">Type</span> <span class="mi">1</span>
<span class="o">|</span> <span class="n">Type</span> <span
class="mi">2</span> <span class="n">List</span>
<span class="o">|</span>
<span
class="o">+----------+------------------------------------------------+</span>
-<span class="o">|</span> <span class="n">Normal</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Fairy</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Ice</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
<span class="o">|</span> <span class="n">Bug</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Poison</span><span class="p">,</span> <span
class="n">Grass</span><span class="p">]</span> <span
class="o">|</span>
<span class="o">|</span> <span class="n">Poison</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Ground</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
<span class="o">|</span> <span class="n">Electric</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Steel</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Normal</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Fairy</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Ice</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
<span class="o">|</span> <span class="n">Grass</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span
class="p">,</span> <span class="n">Poison</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Fire</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Dragon</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Poison</span><span
class="p">,</span> <span class="n">Dark</span><span class="p">,</span> <span
class="n">Flying</span><span class="p">,</span> <span
class="n">Psychic</span><span class="p">,</span> <span
class="n">Ice</span><span class="p">,</span> <span
class="n">Fighting</span><span class="p">]</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Rock</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Ground</span><span class="p">,</span> <span
class="n">Water</span><span class="p">]</span> <span
class="o">|</span>
+<span class="o">|</span> <span class="n">Fire</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Dragon</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Psychic</span><span class="p">,</span> <span
class="n">Dark</span><span class="p">,</span> <span
class="n">Fighting</span><span class="p">,</span> <span
class="n">Ice</span><span class="p">,</span> <span class="n">Poison</span><span
class="p">]</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Rock</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Water</span><span class="p">,</span> <span
class="n">Ground</span><span class="p">]</span> <span
class="o">|</span>
<span class="o">|</span> <span class="n">Ghost</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Poison</span><span
class="p">]</span> <span
class="o">|</span>
<span
class="o">+----------+------------------------------------------------+</span>
@@ -615,15 +615,15 @@ entries entirely removed. The second is we can use the
<code class="docutils lit
<span
class="o">+----------+------------------------------------------------+</span>
<span class="o">|</span> <span class="n">Type</span> <span class="mi">1</span>
<span class="o">|</span> <span class="n">Type</span> <span
class="mi">2</span> <span class="n">List</span>
<span class="o">|</span>
<span
class="o">+----------+------------------------------------------------+</span>
-<span class="o">|</span> <span class="n">Normal</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Fairy</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Ice</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Bug</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Grass</span><span
class="p">,</span> <span class="n">Poison</span><span class="p">,</span> <span
class="n">Flying</span><span class="p">]</span> <span
class="o">|</span>
+<span class="o">|</span> <span class="n">Normal</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Fairy</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Ice</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Psychic</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Bug</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Grass</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">,</span> <span
class="n">Poison</span><span class="p">]</span> <span
class="o">|</span>
<span class="o">|</span> <span class="n">Poison</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Ground</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Electric</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Steel</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Electric</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Steel</span><span class="p">]</span>
<span class="o">|</span>
<span class="o">|</span> <span class="n">Fairy</span> <span
class="o">|</span> <span
class="o">|</span>
<span class="o">|</span> <span class="n">Grass</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span
class="p">,</span> <span class="n">Poison</span><span class="p">]</span>
<span class="o">|</span>
<span class="o">|</span> <span class="n">Fire</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Dragon</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Ice</span><span
class="p">,</span> <span class="n">Dark</span><span class="p">,</span> <span
class="n">Psychic</span><span class="p">,</span> <span
class="n">Poison</span><span class="p">,</span> <span
class="n">Fighting</span><span class="p">,</span> <span
class="n">Flying</span><span class="p">]</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Fighting</span><span class="p">,</span>
<span class="n">Psychic</span><span class="p">,</span> <span
class="n">Ice</span><span class="p">,</span> <span class="n">Dark</span><span
class="p">,</span> <span class="n">Poison</span><span class="p">]</span> <span
class="o">|</span>
<span class="o">|</span> <span class="n">Ground</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Rock</span><span
class="p">]</span> <span
class="o">|</span>
<span
class="o">+----------+------------------------------------------------+</span>
</pre></div>
@@ -701,20 +701,20 @@ aggregate function without filtering rows from the entire
DataFrame.</p>
<span class="o">....</span><span class="p">:</span>
<span class="n">Out</span><span class="p">[</span><span
class="mi">20</span><span class="p">]:</span>
<span class="n">DataFrame</span><span class="p">()</span>
-<span class="o">+----------+--------------------+----------------------+</span>
-<span class="o">|</span> <span class="n">Type</span> <span class="mi">1</span>
<span class="o">|</span> <span class="n">Avg</span> <span
class="n">Speed</span> <span class="n">All</span> <span class="o">|</span>
<span class="n">Avg</span> <span class="n">Speed</span> <span
class="n">Low</span> <span class="n">Attack</span> <span class="o">|</span>
-<span class="o">+----------+--------------------+----------------------+</span>
-<span class="o">|</span> <span class="n">Bug</span> <span
class="o">|</span> <span class="mf">66.78571428571429</span> <span
class="o">|</span> <span class="mf">46.0</span> <span
class="o">|</span>
-<span class="o">|</span> <span class="n">Poison</span> <span
class="o">|</span> <span class="mf">58.785714285714285</span> <span
class="o">|</span> <span class="mf">48.0</span> <span
class="o">|</span>
-<span class="o">|</span> <span class="n">Electric</span> <span
class="o">|</span> <span class="mf">98.88888888888889</span> <span
class="o">|</span> <span class="mf">72.5</span> <span
class="o">|</span>
-<span class="o">|</span> <span class="n">Fairy</span> <span
class="o">|</span> <span class="mf">47.5</span> <span
class="o">|</span> <span class="mf">35.0</span> <span
class="o">|</span>
-<span class="o">|</span> <span class="n">Normal</span> <span
class="o">|</span> <span class="mf">72.75</span> <span
class="o">|</span> <span class="mf">52.8</span> <span
class="o">|</span>
-<span class="o">|</span> <span class="n">Ice</span> <span
class="o">|</span> <span class="mf">90.0</span> <span
class="o">|</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Grass</span> <span
class="o">|</span> <span class="mf">54.23076923076923</span> <span
class="o">|</span> <span class="mf">42.5</span> <span
class="o">|</span>
-<span class="o">|</span> <span class="n">Fire</span> <span
class="o">|</span> <span class="mf">86.28571428571429</span> <span
class="o">|</span> <span class="mf">65.0</span> <span
class="o">|</span>
-<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="mf">67.25806451612904</span> <span
class="o">|</span> <span class="mf">63.833333333333336</span> <span
class="o">|</span>
-<span class="o">|</span> <span class="n">Ground</span> <span
class="o">|</span> <span class="mf">58.125</span> <span
class="o">|</span> <span class="o">|</span>
-<span class="o">+----------+--------------------+----------------------+</span>
+<span class="o">+----------+-------------------+----------------------+</span>
+<span class="o">|</span> <span class="n">Type</span> <span class="mi">1</span>
<span class="o">|</span> <span class="n">Avg</span> <span
class="n">Speed</span> <span class="n">All</span> <span class="o">|</span>
<span class="n">Avg</span> <span class="n">Speed</span> <span
class="n">Low</span> <span class="n">Attack</span> <span class="o">|</span>
+<span class="o">+----------+-------------------+----------------------+</span>
+<span class="o">|</span> <span class="n">Grass</span> <span
class="o">|</span> <span class="mf">54.23076923076923</span> <span
class="o">|</span> <span class="mf">42.5</span> <span
class="o">|</span>
+<span class="o">|</span> <span class="n">Fire</span> <span
class="o">|</span> <span class="mf">86.28571428571429</span> <span
class="o">|</span> <span class="mf">65.0</span> <span
class="o">|</span>
+<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="mf">67.25806451612904</span> <span
class="o">|</span> <span class="mf">63.833333333333336</span> <span
class="o">|</span>
+<span class="o">|</span> <span class="n">Ground</span> <span
class="o">|</span> <span class="mf">58.125</span> <span
class="o">|</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Fighting</span> <span
class="o">|</span> <span class="mf">66.14285714285714</span> <span
class="o">|</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Psychic</span> <span
class="o">|</span> <span class="mf">99.25</span> <span
class="o">|</span> <span class="mf">81.75</span> <span
class="o">|</span>
+<span class="o">|</span> <span class="n">Rock</span> <span
class="o">|</span> <span class="mf">67.5</span> <span
class="o">|</span> <span class="mf">52.5</span> <span
class="o">|</span>
+<span class="o">|</span> <span class="n">Ghost</span> <span
class="o">|</span> <span class="mf">103.75</span> <span
class="o">|</span> <span class="mf">80.0</span> <span
class="o">|</span>
+<span class="o">|</span> <span class="n">Dragon</span> <span
class="o">|</span> <span class="mf">66.66666666666667</span> <span
class="o">|</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Normal</span> <span
class="o">|</span> <span class="mf">72.75</span> <span
class="o">|</span> <span class="mf">52.8</span> <span
class="o">|</span>
+<span class="o">+----------+-------------------+----------------------+</span>
</pre></div>
</div>
</section>
diff --git a/user-guide/common-operations/basic-info.html
b/user-guide/common-operations/basic-info.html
index a26a07a6..29bfc238 100644
--- a/user-guide/common-operations/basic-info.html
+++ b/user-guide/common-operations/basic-info.html
@@ -414,11 +414,11 @@
<span class="o">+-----+---------+--------+--------+</span>
<span class="o">|</span> <span class="n">nrs</span> <span class="o">|</span>
<span class="n">names</span> <span class="o">|</span> <span
class="n">random</span> <span class="o">|</span> <span class="n">groups</span>
<span class="o">|</span>
<span class="o">+-----+---------+--------+--------+</span>
-<span class="o">|</span> <span class="mi">1</span> <span class="o">|</span>
<span class="n">python</span> <span class="o">|</span> <span
class="mi">497</span> <span class="o">|</span> <span class="n">A</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="mi">2</span> <span class="o">|</span>
<span class="n">ruby</span> <span class="o">|</span> <span
class="mi">225</span> <span class="o">|</span> <span class="n">A</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="mi">3</span> <span class="o">|</span>
<span class="n">java</span> <span class="o">|</span> <span
class="mi">685</span> <span class="o">|</span> <span class="n">B</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="mi">4</span> <span class="o">|</span>
<span class="n">haskell</span> <span class="o">|</span> <span
class="mi">288</span> <span class="o">|</span> <span class="n">C</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="mi">5</span> <span class="o">|</span>
<span class="n">go</span> <span class="o">|</span> <span
class="mi">865</span> <span class="o">|</span> <span class="n">B</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">1</span> <span class="o">|</span>
<span class="n">python</span> <span class="o">|</span> <span
class="mi">580</span> <span class="o">|</span> <span class="n">A</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">2</span> <span class="o">|</span>
<span class="n">ruby</span> <span class="o">|</span> <span
class="mi">748</span> <span class="o">|</span> <span class="n">A</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">3</span> <span class="o">|</span>
<span class="n">java</span> <span class="o">|</span> <span
class="mi">329</span> <span class="o">|</span> <span class="n">B</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">4</span> <span class="o">|</span>
<span class="n">haskell</span> <span class="o">|</span> <span
class="mi">652</span> <span class="o">|</span> <span class="n">C</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">5</span> <span class="o">|</span>
<span class="n">go</span> <span class="o">|</span> <span
class="mi">56</span> <span class="o">|</span> <span class="n">B</span>
<span class="o">|</span>
<span class="o">+-----+---------+--------+--------+</span>
</pre></div>
</div>
@@ -429,8 +429,8 @@
<span class="o">+-----+--------+--------+--------+</span>
<span class="o">|</span> <span class="n">nrs</span> <span class="o">|</span>
<span class="n">names</span> <span class="o">|</span> <span
class="n">random</span> <span class="o">|</span> <span class="n">groups</span>
<span class="o">|</span>
<span class="o">+-----+--------+--------+--------+</span>
-<span class="o">|</span> <span class="mi">1</span> <span class="o">|</span>
<span class="n">python</span> <span class="o">|</span> <span
class="mi">497</span> <span class="o">|</span> <span class="n">A</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="mi">2</span> <span class="o">|</span>
<span class="n">ruby</span> <span class="o">|</span> <span
class="mi">225</span> <span class="o">|</span> <span class="n">A</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">1</span> <span class="o">|</span>
<span class="n">python</span> <span class="o">|</span> <span
class="mi">580</span> <span class="o">|</span> <span class="n">A</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">2</span> <span class="o">|</span>
<span class="n">ruby</span> <span class="o">|</span> <span
class="mi">748</span> <span class="o">|</span> <span class="n">A</span>
<span class="o">|</span>
<span class="o">+-----+--------+--------+--------+</span>
</pre></div>
</div>
@@ -448,28 +448,28 @@ passing them to an Arrow table, and then converting them
to a pandas DataFrame.<
<div class="highlight-ipython notranslate"><div
class="highlight"><pre><span></span><span class="n">In</span> <span
class="p">[</span><span class="mi">8</span><span class="p">]:</span> <span
class="n">df</span><span class="o">.</span><span
class="n">to_pandas</span><span class="p">()</span>
<span class="n">Out</span><span class="p">[</span><span
class="mi">8</span><span class="p">]:</span>
<span class="n">nrs</span> <span class="n">names</span> <span
class="n">random</span> <span class="n">groups</span>
-<span class="mi">0</span> <span class="mi">1</span> <span
class="n">python</span> <span class="mi">497</span> <span
class="n">A</span>
-<span class="mi">1</span> <span class="mi">2</span> <span
class="n">ruby</span> <span class="mi">225</span> <span
class="n">A</span>
-<span class="mi">2</span> <span class="mi">3</span> <span
class="n">java</span> <span class="mi">685</span> <span
class="n">B</span>
-<span class="mi">3</span> <span class="mi">4</span> <span
class="n">haskell</span> <span class="mi">288</span> <span
class="n">C</span>
-<span class="mi">4</span> <span class="mi">5</span> <span
class="n">go</span> <span class="mi">865</span> <span
class="n">B</span>
+<span class="mi">0</span> <span class="mi">1</span> <span
class="n">python</span> <span class="mi">580</span> <span
class="n">A</span>
+<span class="mi">1</span> <span class="mi">2</span> <span
class="n">ruby</span> <span class="mi">748</span> <span
class="n">A</span>
+<span class="mi">2</span> <span class="mi">3</span> <span
class="n">java</span> <span class="mi">329</span> <span
class="n">B</span>
+<span class="mi">3</span> <span class="mi">4</span> <span
class="n">haskell</span> <span class="mi">652</span> <span
class="n">C</span>
+<span class="mi">4</span> <span class="mi">5</span> <span
class="n">go</span> <span class="mi">56</span> <span
class="n">B</span>
</pre></div>
</div>
<p><a class="reference internal"
href="../../autoapi/datafusion/dataframe/index.html#datafusion.dataframe.DataFrame.describe"
title="datafusion.dataframe.DataFrame.describe"><code class="xref py py-func
docutils literal notranslate"><span class="pre">describe()</span></code></a>
shows a quick statistic summary of your data:</p>
<div class="highlight-ipython notranslate"><div
class="highlight"><pre><span></span><span class="n">In</span> <span
class="p">[</span><span class="mi">9</span><span class="p">]:</span> <span
class="n">df</span><span class="o">.</span><span class="n">describe</span><span
class="p">()</span>
<span class="n">Out</span><span class="p">[</span><span
class="mi">9</span><span class="p">]:</span>
<span class="n">DataFrame</span><span class="p">()</span>
-<span
class="o">+------------+--------------------+-------+-------------------+--------+</span>
-<span class="o">|</span> <span class="n">describe</span> <span
class="o">|</span> <span class="n">nrs</span> <span
class="o">|</span> <span class="n">names</span> <span class="o">|</span> <span
class="n">random</span> <span class="o">|</span> <span
class="n">groups</span> <span class="o">|</span>
-<span
class="o">+------------+--------------------+-------+-------------------+--------+</span>
-<span class="o">|</span> <span class="n">count</span> <span
class="o">|</span> <span class="mf">5.0</span> <span
class="o">|</span> <span class="mi">5</span> <span class="o">|</span> <span
class="mf">5.0</span> <span class="o">|</span> <span
class="mi">5</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">null_count</span> <span
class="o">|</span> <span class="mf">0.0</span> <span
class="o">|</span> <span class="mi">0</span> <span class="o">|</span> <span
class="mf">0.0</span> <span class="o">|</span> <span
class="mi">0</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">mean</span> <span
class="o">|</span> <span class="mf">3.0</span> <span
class="o">|</span> <span class="n">null</span> <span class="o">|</span> <span
class="mf">512.0</span> <span class="o">|</span> <span
class="n">null</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">std</span> <span
class="o">|</span> <span class="mf">1.5811388300841898</span> <span
class="o">|</span> <span class="n">null</span> <span class="o">|</span> <span
class="mf">268.0055969564815</span> <span class="o">|</span> <span
class="n">null</span> <span class="o">|</span>
-<span class="o">|</span> <span class="nb">min</span> <span
class="o">|</span> <span class="mf">1.0</span> <span
class="o">|</span> <span class="n">go</span> <span class="o">|</span> <span
class="mf">225.0</span> <span class="o">|</span> <span
class="n">A</span> <span class="o">|</span>
-<span class="o">|</span> <span class="nb">max</span> <span
class="o">|</span> <span class="mf">5.0</span> <span
class="o">|</span> <span class="n">ruby</span> <span class="o">|</span> <span
class="mf">865.0</span> <span class="o">|</span> <span
class="n">C</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">median</span> <span
class="o">|</span> <span class="mf">3.0</span> <span
class="o">|</span> <span class="n">null</span> <span class="o">|</span> <span
class="mf">497.0</span> <span class="o">|</span> <span
class="n">null</span> <span class="o">|</span>
-<span
class="o">+------------+--------------------+-------+-------------------+--------+</span>
+<span
class="o">+------------+--------------------+-------+--------------------+--------+</span>
+<span class="o">|</span> <span class="n">describe</span> <span
class="o">|</span> <span class="n">nrs</span> <span
class="o">|</span> <span class="n">names</span> <span class="o">|</span> <span
class="n">random</span> <span class="o">|</span> <span
class="n">groups</span> <span class="o">|</span>
+<span
class="o">+------------+--------------------+-------+--------------------+--------+</span>
+<span class="o">|</span> <span class="n">count</span> <span
class="o">|</span> <span class="mf">5.0</span> <span
class="o">|</span> <span class="mi">5</span> <span class="o">|</span> <span
class="mf">5.0</span> <span class="o">|</span> <span
class="mi">5</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">null_count</span> <span
class="o">|</span> <span class="mf">0.0</span> <span
class="o">|</span> <span class="mi">0</span> <span class="o">|</span> <span
class="mf">0.0</span> <span class="o">|</span> <span
class="mi">0</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">mean</span> <span
class="o">|</span> <span class="mf">3.0</span> <span
class="o">|</span> <span class="n">null</span> <span class="o">|</span> <span
class="mf">473.0</span> <span class="o">|</span> <span
class="n">null</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">std</span> <span
class="o">|</span> <span class="mf">1.5811388300841898</span> <span
class="o">|</span> <span class="n">null</span> <span class="o">|</span> <span
class="mf">280.06249302611013</span> <span class="o">|</span> <span
class="n">null</span> <span class="o">|</span>
+<span class="o">|</span> <span class="nb">min</span> <span
class="o">|</span> <span class="mf">1.0</span> <span
class="o">|</span> <span class="n">go</span> <span class="o">|</span> <span
class="mf">56.0</span> <span class="o">|</span> <span
class="n">A</span> <span class="o">|</span>
+<span class="o">|</span> <span class="nb">max</span> <span
class="o">|</span> <span class="mf">5.0</span> <span
class="o">|</span> <span class="n">ruby</span> <span class="o">|</span> <span
class="mf">748.0</span> <span class="o">|</span> <span
class="n">C</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">median</span> <span
class="o">|</span> <span class="mf">3.0</span> <span
class="o">|</span> <span class="n">null</span> <span class="o">|</span> <span
class="mf">580.0</span> <span class="o">|</span> <span
class="n">null</span> <span class="o">|</span>
+<span
class="o">+------------+--------------------+-------+--------------------+--------+</span>
</pre></div>
</div>
</section>
diff --git a/user-guide/common-operations/functions.html
b/user-guide/common-operations/functions.html
index 4b999bb0..9ca2a91a 100644
--- a/user-guide/common-operations/functions.html
+++ b/user-guide/common-operations/functions.html
@@ -505,16 +505,16 @@ In here we will cover some of the more popular use cases.
If you want to view al
<span class="o">+--------------------------------+</span>
<span class="o">|</span> <span class="n">now</span><span class="p">()</span>
<span class="o">|</span>
<span class="o">+--------------------------------+</span>
-<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">14</span><span class="n">T13</span><span class="p">:</span><span
class="mi">01</span><span class="p">:</span><span
class="mf">15.939037739</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">14</span><span class="n">T13</span><span class="p">:</span><span
class="mi">01</span><span class="p">:</span><span
class="mf">15.939037739</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">14</span><span class="n">T13</span><span class="p">:</span><span
class="mi">01</span><span class="p">:</span><span
class="mf">15.939037739</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">14</span><span class="n">T13</span><span class="p">:</span><span
class="mi">01</span><span class="p">:</span><span
class="mf">15.939037739</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">14</span><span class="n">T13</span><span class="p">:</span><span
class="mi">01</span><span class="p">:</span><span
class="mf">15.939037739</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">14</span><span class="n">T13</span><span class="p">:</span><span
class="mi">01</span><span class="p">:</span><span
class="mf">15.939037739</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">14</span><span class="n">T13</span><span class="p">:</span><span
class="mi">01</span><span class="p">:</span><span
class="mf">15.939037739</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">14</span><span class="n">T13</span><span class="p">:</span><span
class="mi">01</span><span class="p">:</span><span
class="mf">15.939037739</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">14</span><span class="n">T13</span><span class="p">:</span><span
class="mi">01</span><span class="p">:</span><span
class="mf">15.939037739</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">14</span><span class="n">T13</span><span class="p">:</span><span
class="mi">01</span><span class="p">:</span><span
class="mf">15.939037739</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">15</span><span class="n">T11</span><span class="p">:</span><span
class="mi">05</span><span class="p">:</span><span
class="mf">27.143068756</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">15</span><span class="n">T11</span><span class="p">:</span><span
class="mi">05</span><span class="p">:</span><span
class="mf">27.143068756</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">15</span><span class="n">T11</span><span class="p">:</span><span
class="mi">05</span><span class="p">:</span><span
class="mf">27.143068756</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">15</span><span class="n">T11</span><span class="p">:</span><span
class="mi">05</span><span class="p">:</span><span
class="mf">27.143068756</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">15</span><span class="n">T11</span><span class="p">:</span><span
class="mi">05</span><span class="p">:</span><span
class="mf">27.143068756</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">15</span><span class="n">T11</span><span class="p">:</span><span
class="mi">05</span><span class="p">:</span><span
class="mf">27.143068756</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">15</span><span class="n">T11</span><span class="p">:</span><span
class="mi">05</span><span class="p">:</span><span
class="mf">27.143068756</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">15</span><span class="n">T11</span><span class="p">:</span><span
class="mi">05</span><span class="p">:</span><span
class="mf">27.143068756</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">15</span><span class="n">T11</span><span class="p">:</span><span
class="mi">05</span><span class="p">:</span><span
class="mf">27.143068756</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2025</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">15</span><span class="n">T11</span><span class="p">:</span><span
class="mi">05</span><span class="p">:</span><span
class="mf">27.143068756</span><span class="n">Z</span> <span class="o">|</span>
<span class="o">+--------------------------------+</span>
</pre></div>
</div>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]