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 82650357d74e1d9fc1dd2d76cab39e1d3dd6c408
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Sep 2 15:32:53 2024 +0000
Publish built docs triggered by fe0738a9c0b536cdf20b0dc0455d14a0d16d2835
---
.../autoapi/datafusion/dataframe/index.rst.txt | 25 ++++++
_sources/autoapi/datafusion/expr/index.rst.txt | 8 +-
_sources/autoapi/datafusion/index.rst.txt | 8 +-
.../common-operations/expressions.rst.txt | 37 +++++++++
autoapi/datafusion/dataframe/index.html | 53 ++++++++++++
autoapi/datafusion/expr/index.html | 7 +-
autoapi/datafusion/index.html | 7 +-
genindex.html | 4 +
objects.inv | Bin 4948 -> 4961 bytes
searchindex.js | 2 +-
user-guide/common-operations/aggregations.html | 26 +++---
user-guide/common-operations/basic-info.html | 34 ++++----
user-guide/common-operations/expressions.html | 90 +++++++++++++++++----
user-guide/common-operations/functions.html | 22 ++---
user-guide/common-operations/index.html | 2 +
user-guide/common-operations/joins.html | 4 +-
.../common-operations/select-and-filter.html | 2 +-
user-guide/common-operations/windows.html | 30 +++----
18 files changed, 279 insertions(+), 82 deletions(-)
diff --git a/_sources/autoapi/datafusion/dataframe/index.rst.txt
b/_sources/autoapi/datafusion/dataframe/index.rst.txt
index 14b278a..d833324 100644
--- a/_sources/autoapi/datafusion/dataframe/index.rst.txt
+++ b/_sources/autoapi/datafusion/dataframe/index.rst.txt
@@ -67,6 +67,9 @@ Module Contents
+ .. py:method:: _repr_html_() -> str
+
+
.. py:method:: aggregate(group_by: list[datafusion.expr.Expr], aggs:
list[datafusion.expr.Expr]) -> DataFrame
Aggregates the rows of the current DataFrame.
@@ -386,6 +389,28 @@ Module Contents
+ .. py:method:: transform(func: Callable[Ellipsis, DataFrame], *args: Any)
-> DataFrame
+
+ Apply a function to the current DataFrame which returns another
DataFrame.
+
+ This is useful for chaining together multiple functions. For example::
+
+ def add_3(df: DataFrame) -> DataFrame:
+ return df.with_column("modified", lit(3))
+
+ def within_limit(df: DataFrame, limit: int) -> DataFrame:
+ return df.filter(col("a") < lit(limit)).distinct()
+
+ df = df.transform(modify_df).transform(within_limit, 4)
+
+ :param func: A callable function that takes a DataFrame as it's first
argument
+ :param args: Zero or more arguments to pass to `func`
+
+ :returns: After applying func to the original dataframe.
+ :rtype: DataFrame
+
+
+
.. py:method:: union(other: DataFrame, distinct: bool = False) -> DataFrame
Calculate the union of two :py:class:`DataFrame`.
diff --git a/_sources/autoapi/datafusion/expr/index.rst.txt
b/_sources/autoapi/datafusion/expr/index.rst.txt
index 0dc38f5..6c4dc46 100644
--- a/_sources/autoapi/datafusion/expr/index.rst.txt
+++ b/_sources/autoapi/datafusion/expr/index.rst.txt
@@ -172,9 +172,13 @@ Module Contents
- .. py:method:: __getitem__(key: str) -> Expr
+ .. py:method:: __getitem__(key: str | int) -> Expr
- For struct data types, return the field indicated by ``key``.
+ Retrieve sub-object.
+
+ If ``key`` is a string, returns the subfield of the struct.
+ If ``key`` is an integer, retrieves the element in the array. Note that
the
+ element index begins at ``0``, unlike `array_element` which begines at
``1``.
diff --git a/_sources/autoapi/datafusion/index.rst.txt
b/_sources/autoapi/datafusion/index.rst.txt
index ee1908b..6d4a6a5 100644
--- a/_sources/autoapi/datafusion/index.rst.txt
+++ b/_sources/autoapi/datafusion/index.rst.txt
@@ -246,9 +246,13 @@ Package Contents
- .. py:method:: __getitem__(key: str) -> Expr
+ .. py:method:: __getitem__(key: str | int) -> Expr
- For struct data types, return the field indicated by ``key``.
+ Retrieve sub-object.
+
+ If ``key`` is a string, returns the subfield of the struct.
+ If ``key`` is an integer, retrieves the element in the array. Note that
the
+ element index begins at ``0``, unlike `array_element` which begines at
``1``.
diff --git a/_sources/user-guide/common-operations/expressions.rst.txt
b/_sources/user-guide/common-operations/expressions.rst.txt
index e35234c..6014c9d 100644
--- a/_sources/user-guide/common-operations/expressions.rst.txt
+++ b/_sources/user-guide/common-operations/expressions.rst.txt
@@ -60,6 +60,43 @@ examples for the and, or, and not operations.
heavy_red_units = (col("color") == lit("red")) & (col("weight") > lit(42))
not_red_units = ~(col("color") == lit("red"))
+Arrays
+------
+
+For columns that contain arrays of values, you can access individual elements
of the array by index
+using bracket indexing. This is similar to callling the function
+:py:func:`datafusion.functions.array_element`, except that array indexing
using brackets is 0 based,
+similar to Python arrays and ``array_element`` is 1 based indexing to be
compatible with other SQL
+approaches.
+
+.. ipython:: python
+
+ from datafusion import SessionContext, col
+
+ ctx = SessionContext()
+ df = ctx.from_pydict({"a": [[1, 2, 3], [4, 5, 6]]})
+ df.select(col("a")[0].alias("a0"))
+
+
+.. warning::
+
+ Indexing an element of an array via ``[]`` starts at index 0 whereas
+ :py:func:`~datafusion.functions.array_element` starts at index 1.
+
+Structs
+-------
+
+Columns that contain struct elements can be accessed using the bracket
notation as if they were
+Python dictionary style objects. This expects a string key as the parameter
passed.
+
+.. ipython:: python
+
+ ctx = SessionContext()
+ data = {"a": [{"size": 15, "color": "green"}, {"size": 10, "color":
"blue"}]}
+ df = ctx.from_pydict(data)
+ df.select(col("a")["size"].alias("a_size"))
+
+
Functions
---------
diff --git a/autoapi/datafusion/dataframe/index.html
b/autoapi/datafusion/dataframe/index.html
index 866b46a..df48c87 100644
--- a/autoapi/datafusion/dataframe/index.html
+++ b/autoapi/datafusion/dataframe/index.html
@@ -391,6 +391,15 @@
</code>
</a>
</li>
+ <li class="toc-h4 nav-item toc-entry">
+ <a class="reference internal nav-link"
href="#datafusion.dataframe.DataFrame._repr_html_">
+ <code class="docutils literal notranslate">
+ <span class="pre">
+ DataFrame._repr_html_()
+ </span>
+ </code>
+ </a>
+ </li>
<li class="toc-h4 nav-item toc-entry">
<a class="reference internal nav-link"
href="#datafusion.dataframe.DataFrame.aggregate">
<code class="docutils literal notranslate">
@@ -661,6 +670,15 @@
</code>
</a>
</li>
+ <li class="toc-h4 nav-item toc-entry">
+ <a class="reference internal nav-link"
href="#datafusion.dataframe.DataFrame.transform">
+ <code class="docutils literal notranslate">
+ <span class="pre">
+ DataFrame.transform()
+ </span>
+ </code>
+ </a>
+ </li>
<li class="toc-h4 nav-item toc-entry">
<a class="reference internal nav-link"
href="#datafusion.dataframe.DataFrame.union">
<code class="docutils literal notranslate">
@@ -834,6 +852,11 @@ those in the DataFrame.</p>
</dl>
</dd></dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="datafusion.dataframe.DataFrame._repr_html_">
+<span class="sig-name descname"><span
class="pre">_repr_html_</span></span><span class="sig-paren">(</span><span
class="sig-paren">)</span> <span class="sig-return"><span
class="sig-return-icon">→</span> <span class="sig-return-typehint"><span
class="pre">str</span></span></span><a class="headerlink"
href="#datafusion.dataframe.DataFrame._repr_html_" title="Link to this
definition">¶</a></dt>
+<dd></dd></dl>
+
<dl class="py method">
<dt class="sig sig-object py" id="datafusion.dataframe.DataFrame.aggregate">
<span class="sig-name descname"><span class="pre">aggregate</span></span><span
class="sig-paren">(</span><em class="sig-param"><span class="n"><span
class="pre">group_by</span></span><span class="p"><span
class="pre">:</span></span><span class="w"> </span><span class="n"><span
class="pre">list</span><span class="p"><span class="pre">[</span></span><a
class="reference internal" href="../expr/index.html#datafusion.expr.Expr"
title="datafusion.expr.Expr"><span class="pre">datafusion.expr.Ex [...]
@@ -1250,6 +1273,36 @@ calling its` <code class="docutils literal
notranslate"><span class="pre">sort</
</dl>
</dd></dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="datafusion.dataframe.DataFrame.transform">
+<span class="sig-name descname"><span class="pre">transform</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="pre">Ellipsis</span><span
class="p"><span class="pre">,</span></span><span class="w"> </span><a
class="reference internal" href=" [...]
+<dd><p>Apply a function to the current DataFrame which returns another
DataFrame.</p>
+<p>This is useful for chaining together multiple functions. For example:</p>
+<div class="highlight-default notranslate"><div
class="highlight"><pre><span></span><span class="k">def</span> <span
class="nf">add_3</span><span class="p">(</span><span class="n">df</span><span
class="p">:</span> <span class="n">DataFrame</span><span class="p">)</span>
<span class="o">-></span> <span class="n">DataFrame</span><span
class="p">:</span>
+ <span class="k">return</span> <span class="n">df</span><span
class="o">.</span><span class="n">with_column</span><span
class="p">(</span><span class="s2">"modified"</span><span
class="p">,</span> <span class="n">lit</span><span class="p">(</span><span
class="mi">3</span><span class="p">))</span>
+
+<span class="k">def</span> <span class="nf">within_limit</span><span
class="p">(</span><span class="n">df</span><span class="p">:</span> <span
class="n">DataFrame</span><span class="p">,</span> <span
class="n">limit</span><span class="p">:</span> <span class="nb">int</span><span
class="p">)</span> <span class="o">-></span> <span
class="n">DataFrame</span><span class="p">:</span>
+ <span class="k">return</span> <span class="n">df</span><span
class="o">.</span><span class="n">filter</span><span class="p">(</span><span
class="n">col</span><span class="p">(</span><span
class="s2">"a"</span><span class="p">)</span> <span
class="o"><</span> <span class="n">lit</span><span class="p">(</span><span
class="n">limit</span><span class="p">))</span><span class="o">.</span><span
class="n">distinct</span><span class="p">()</span>
+
+<span class="n">df</span> <span class="o">=</span> <span
class="n">df</span><span class="o">.</span><span
class="n">transform</span><span class="p">(</span><span
class="n">modify_df</span><span class="p">)</span><span class="o">.</span><span
class="n">transform</span><span class="p">(</span><span
class="n">within_limit</span><span class="p">,</span> <span
class="mi">4</span><span class="p">)</span>
+</pre></div>
+</div>
+<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 function that takes a DataFrame as
it’s first argument</p></li>
+<li><p><strong>args</strong> – Zero or more arguments to pass to
<cite>func</cite></p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>After applying func to the original dataframe.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal"
href="#datafusion.dataframe.DataFrame"
title="datafusion.dataframe.DataFrame">DataFrame</a></p>
+</dd>
+</dl>
+</dd></dl>
+
<dl class="py method">
<dt class="sig sig-object py" id="datafusion.dataframe.DataFrame.union">
<span class="sig-name descname"><span class="pre">union</span></span><span
class="sig-paren">(</span><em class="sig-param"><span class="n"><span
class="pre">other</span></span><span class="p"><span
class="pre">:</span></span><span class="w"> </span><span class="n"><a
class="reference internal" href="#datafusion.dataframe.DataFrame"
title="datafusion.dataframe.DataFrame"><span
class="pre">DataFrame</span></a></span></em>, <em class="sig-param"><span
class="n"><span class="pre">distinct</s [...]
diff --git a/autoapi/datafusion/expr/index.html
b/autoapi/datafusion/expr/index.html
index 22b278b..b2bbc3b 100644
--- a/autoapi/datafusion/expr/index.html
+++ b/autoapi/datafusion/expr/index.html
@@ -1769,8 +1769,11 @@
<dl class="py method">
<dt class="sig sig-object py" id="datafusion.expr.Expr.__getitem__">
-<span class="sig-name descname"><span
class="pre">__getitem__</span></span><span class="sig-paren">(</span><em
class="sig-param"><span class="n"><span class="pre">key</span></span><span
class="p"><span class="pre">:</span></span><span class="w"> </span><span
class="n"><span class="pre">str</span></span></em><span
class="sig-paren">)</span> <span class="sig-return"><span
class="sig-return-icon">→</span> <span class="sig-return-typehint"><a
class="reference internal" href="#datafusi [...]
-<dd><p>For struct data types, return the field indicated by <code
class="docutils literal notranslate"><span class="pre">key</span></code>.</p>
+<span class="sig-name descname"><span
class="pre">__getitem__</span></span><span class="sig-paren">(</span><em
class="sig-param"><span class="n"><span class="pre">key</span></span><span
class="p"><span class="pre">:</span></span><span class="w"> </span><span
class="n"><span class="pre">str</span><span class="w"> </span><span
class="p"><span class="pre">|</span></span><span class="w"> </span><span
class="pre">int</span></span></em><span class="sig-paren">)</span> <span
class="sig-return"> [...]
+<dd><p>Retrieve sub-object.</p>
+<p>If <code class="docutils literal notranslate"><span
class="pre">key</span></code> is a string, returns the subfield of the struct.
+If <code class="docutils literal notranslate"><span
class="pre">key</span></code> is an integer, retrieves the element in the
array. Note that the
+element index begins at <code class="docutils literal notranslate"><span
class="pre">0</span></code>, unlike <cite>array_element</cite> which begines at
<code class="docutils literal notranslate"><span
class="pre">1</span></code>.</p>
</dd></dl>
<dl class="py method">
diff --git a/autoapi/datafusion/index.html b/autoapi/datafusion/index.html
index b0d90b3..033975a 100644
--- a/autoapi/datafusion/index.html
+++ b/autoapi/datafusion/index.html
@@ -1780,8 +1780,11 @@ aggregation or window function calls.</p>
<dl class="py method">
<dt class="sig sig-object py" id="datafusion.Expr.__getitem__">
-<span class="sig-name descname"><span
class="pre">__getitem__</span></span><span class="sig-paren">(</span><em
class="sig-param"><span class="n"><span class="pre">key</span></span><span
class="p"><span class="pre">:</span></span><span class="w"> </span><span
class="n"><span class="pre">str</span></span></em><span
class="sig-paren">)</span> <span class="sig-return"><span
class="sig-return-icon">→</span> <span class="sig-return-typehint"><a
class="reference internal" href="#datafusi [...]
-<dd><p>For struct data types, return the field indicated by <code
class="docutils literal notranslate"><span class="pre">key</span></code>.</p>
+<span class="sig-name descname"><span
class="pre">__getitem__</span></span><span class="sig-paren">(</span><em
class="sig-param"><span class="n"><span class="pre">key</span></span><span
class="p"><span class="pre">:</span></span><span class="w"> </span><span
class="n"><span class="pre">str</span><span class="w"> </span><span
class="p"><span class="pre">|</span></span><span class="w"> </span><span
class="pre">int</span></span></em><span class="sig-paren">)</span> <span
class="sig-return"> [...]
+<dd><p>Retrieve sub-object.</p>
+<p>If <code class="docutils literal notranslate"><span
class="pre">key</span></code> is a string, returns the subfield of the struct.
+If <code class="docutils literal notranslate"><span
class="pre">key</span></code> is an integer, retrieves the element in the
array. Note that the
+element index begins at <code class="docutils literal notranslate"><span
class="pre">0</span></code>, unlike <cite>array_element</cite> which begines at
<code class="docutils literal notranslate"><span
class="pre">1</span></code>.</p>
</dd></dl>
<dl class="py method">
diff --git a/genindex.html b/genindex.html
index 557cc81..2981f9b 100644
--- a/genindex.html
+++ b/genindex.html
@@ -554,6 +554,8 @@
<li><a href="autoapi/datafusion/udf/index.html#datafusion.udf._A">_A (in
module datafusion.udf)</a>
</li>
<li><a href="autoapi/datafusion/udf/index.html#datafusion.udf._R">_R (in
module datafusion.udf)</a>
+</li>
+ <li><a
href="autoapi/datafusion/dataframe/index.html#datafusion.dataframe.DataFrame._repr_html_">_repr_html_()
(datafusion.dataframe.DataFrame method)</a>
</li>
<li><a
href="autoapi/datafusion/index.html#datafusion.AggregateUDF._udf">_udf
(datafusion.AggregateUDF attribute)</a>
@@ -1923,6 +1925,8 @@
<li><a
href="autoapi/datafusion/expr/index.html#datafusion.expr.Expr.to_variant">(datafusion.expr.Expr
method)</a>
</li>
</ul></li>
+ <li><a
href="autoapi/datafusion/dataframe/index.html#datafusion.dataframe.DataFrame.transform">transform()
(datafusion.dataframe.DataFrame method)</a>
+</li>
<li><a
href="autoapi/datafusion/functions/index.html#datafusion.functions.translate">translate()
(in module datafusion.functions)</a>
</li>
<li><a
href="autoapi/datafusion/functions/index.html#datafusion.functions.trim">trim()
(in module datafusion.functions)</a>
diff --git a/objects.inv b/objects.inv
index b6981eb..f8b9cac 100644
Binary files a/objects.inv and b/objects.inv differ
diff --git a/searchindex.js b/searchindex.js
index fb5a717..387423a 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"API Reference": [[13, null]], "Aggregate
Functions": [[25, "aggregate-functions"]], "Aggregation": [[17, null]],
"Arrow": [[28, null]], "Attributes": [[3, "attributes"], [5, "attributes"], [9,
"attributes"], [12, "attributes"]], "Available Functions": [[25,
"available-functions"]], "Avro": [[29, null]], "Basic Operations": [[18,
null]], "Boolean": [[19, "boolean"]], "CSV": [[30, null]], "Classes": [[0,
"classes"], [1, "classes"], [2, "classes"], [3, "class [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"API Reference": [[13, null]], "Aggregate
Functions": [[25, "aggregate-functions"]], "Aggregation": [[17, null]],
"Arrays": [[19, "arrays"]], "Arrow": [[28, null]], "Attributes": [[3,
"attributes"], [5, "attributes"], [9, "attributes"], [12, "attributes"]],
"Available Functions": [[25, "available-functions"]], "Avro": [[29, null]],
"Basic Operations": [[18, null]], "Boolean": [[19, "boolean"]], "CSV": [[30,
null]], "Classes": [[0, "classes"], [1, "classes"] [...]
\ No newline at end of file
diff --git a/user-guide/common-operations/aggregations.html
b/user-guide/common-operations/aggregations.html
index 4cc896a..2655b3e 100644
--- a/user-guide/common-operations/aggregations.html
+++ b/user-guide/common-operations/aggregations.html
@@ -400,7 +400,7 @@ For performing an aggregation, DataFusion provides the <a
class="reference inter
<span
class="o">+----------------------------+--------------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="n">approx_distinct</span><span
class="p">(</span><span class="n">foo_bar</span><span class="o">.</span><span
class="n">c</span><span class="p">)</span> <span class="o">|</span> <span
class="n">approx_median</span><span class="p">(</span><span
class="n">foo_bar</span><span class="o">.</span><span class="n">d</span><span
class="p">)</span> <span class="o">|</span> <span
class="n">approx_percentile_cont</span><span class="p">(</span><span
class="n">foo_ [...]
<span
class="o">+----------------------------+--------------------------+------------------------------------------------+</span>
-<span class="o">|</span> <span class="mi">8</span>
<span class="o">|</span> <span class="mf">0.6924116765476425</span> <span
class="o">|</span> <span class="mf">0.6924116765476425</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">8</span>
<span class="o">|</span> <span class="mf">0.3769252672004989</span> <span
class="o">|</span> <span class="mf">0.3769252672004989</span>
<span class="o">|</span>
<span
class="o">+----------------------------+--------------------------+------------------------------------------------+</span>
</pre></div>
</div>
@@ -412,8 +412,8 @@ the <code class="code docutils literal notranslate"><span
class="pre">group_by</
<span
class="o">+-----+----------------+--------------------+---------------------+</span>
<span class="o">|</span> <span class="n">a</span> <span class="o">|</span>
<span class="nb">sum</span><span class="p">(</span><span
class="n">foo_bar</span><span class="o">.</span><span class="n">c</span><span
class="p">)</span> <span class="o">|</span> <span class="nb">max</span><span
class="p">(</span><span class="n">foo_bar</span><span class="o">.</span><span
class="n">d</span><span class="p">)</span> <span class="o">|</span> <span
class="nb">min</span><span class="p">(</span><s [...]
<span
class="o">+-----+----------------+--------------------+---------------------+</span>
-<span class="o">|</span> <span class="n">foo</span> <span class="o">|</span>
<span class="mi">348</span> <span class="o">|</span> <span
class="mf">0.8451701422201896</span> <span class="o">|</span> <span
class="mf">0.24398651150856876</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">bar</span> <span class="o">|</span>
<span class="mi">75</span> <span class="o">|</span> <span
class="mf">0.9589884077475518</span> <span class="o">|</span> <span
class="mf">0.7438706104712965</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">foo</span> <span class="o">|</span>
<span class="mi">265</span> <span class="o">|</span> <span
class="mf">0.7054837393528138</span> <span class="o">|</span> <span
class="mf">0.09679347079686751</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">bar</span> <span class="o">|</span>
<span class="mi">159</span> <span class="o">|</span> <span
class="mf">0.7209619163044119</span> <span class="o">|</span> <span
class="mf">0.3769252672004989</span> <span class="o">|</span>
<span
class="o">+-----+----------------+--------------------+---------------------+</span>
</pre></div>
</div>
@@ -421,16 +421,16 @@ the <code class="code docutils literal notranslate"><span
class="pre">group_by</
<div class="highlight-ipython notranslate"><div
class="highlight"><pre><span></span><span class="n">In</span> <span
class="p">[</span><span class="mi">13</span><span class="p">]:</span> <span
class="n">df</span><span class="o">.</span><span
class="n">aggregate</span><span class="p">([</span><span
class="n">col_a</span><span class="p">,</span> <span
class="n">col_b</span><span class="p">],</span> <span class="p">[</span><span
class="n">f</span><span class="o">.</span><span class="n">sum</ [...]
<span class="n">Out</span><span class="p">[</span><span
class="mi">13</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">a</span> <span class="o">|</span>
<span class="n">b</span> <span class="o">|</span> <span
class="nb">sum</span><span class="p">(</span><span
class="n">foo_bar</span><span class="o">.</span><span class="n">c</span><span
class="p">)</span> <span class="o">|</span> <span class="nb">max</span><span
class="p">(</span><span class="n">foo_bar</span><span class="o">.</span><span
class="n">d</span><span class="p">)</span> <span class="o">|</span> [...]
-<span
class="o">+-----+-------+----------------+--------------------+---------------------+</span>
-<span class="o">|</span> <span class="n">bar</span> <span class="o">|</span>
<span class="n">three</span> <span class="o">|</span> <span
class="mi">25</span> <span class="o">|</span> <span
class="mf">0.9589884077475518</span> <span class="o">|</span> <span
class="mf">0.9589884077475518</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">foo</span> <span class="o">|</span>
<span class="n">three</span> <span class="o">|</span> <span
class="mi">98</span> <span class="o">|</span> <span
class="mf">0.5123076621844698</span> <span class="o">|</span> <span
class="mf">0.5123076621844698</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">foo</span> <span class="o">|</span>
<span class="n">one</span> <span class="o">|</span> <span
class="mi">129</span> <span class="o">|</span> <span
class="mf">0.8451701422201896</span> <span class="o">|</span> <span
class="mf">0.639334406525573</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">bar</span> <span class="o">|</span>
<span class="n">one</span> <span class="o">|</span> <span class="mi">6</span>
<span class="o">|</span> <span
class="mf">0.9391052799505065</span> <span class="o">|</span> <span
class="mf">0.9391052799505065</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">foo</span> <span class="o">|</span>
<span class="n">two</span> <span class="o">|</span> <span
class="mi">121</span> <span class="o">|</span> <span
class="mf">0.5390481164643716</span> <span class="o">|</span> <span
class="mf">0.24398651150856876</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">bar</span> <span class="o">|</span>
<span class="n">two</span> <span class="o">|</span> <span
class="mi">44</span> <span class="o">|</span> <span
class="mf">0.7438706104712965</span> <span class="o">|</span> <span
class="mf">0.7438706104712965</span> <span class="o">|</span>
-<span
class="o">+-----+-------+----------------+--------------------+---------------------+</span>
+<span
class="o">+-----+-------+----------------+---------------------+---------------------+</span>
+<span class="o">|</span> <span class="n">a</span> <span class="o">|</span>
<span class="n">b</span> <span class="o">|</span> <span
class="nb">sum</span><span class="p">(</span><span
class="n">foo_bar</span><span class="o">.</span><span class="n">c</span><span
class="p">)</span> <span class="o">|</span> <span class="nb">max</span><span
class="p">(</span><span class="n">foo_bar</span><span class="o">.</span><span
class="n">d</span><span class="p">)</span> <span class="o">|</span [...]
+<span
class="o">+-----+-------+----------------+---------------------+---------------------+</span>
+<span class="o">|</span> <span class="n">bar</span> <span class="o">|</span>
<span class="n">three</span> <span class="o">|</span> <span
class="mi">85</span> <span class="o">|</span> <span
class="mf">0.7209619163044119</span> <span class="o">|</span> <span
class="mf">0.7209619163044119</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">foo</span> <span class="o">|</span>
<span class="n">three</span> <span class="o">|</span> <span
class="mi">40</span> <span class="o">|</span> <span
class="mf">0.7054837393528138</span> <span class="o">|</span> <span
class="mf">0.7054837393528138</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">foo</span> <span class="o">|</span>
<span class="n">one</span> <span class="o">|</span> <span
class="mi">76</span> <span class="o">|</span> <span
class="mf">0.24498885563066264</span> <span class="o">|</span> <span
class="mf">0.19717389010107633</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">bar</span> <span class="o">|</span>
<span class="n">one</span> <span class="o">|</span> <span
class="mi">57</span> <span class="o">|</span> <span
class="mf">0.3769252672004989</span> <span class="o">|</span> <span
class="mf">0.3769252672004989</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">foo</span> <span class="o">|</span>
<span class="n">two</span> <span class="o">|</span> <span
class="mi">149</span> <span class="o">|</span> <span
class="mf">0.6614649100666905</span> <span class="o">|</span> <span
class="mf">0.09679347079686751</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">bar</span> <span class="o">|</span>
<span class="n">two</span> <span class="o">|</span> <span
class="mi">17</span> <span class="o">|</span> <span
class="mf">0.41870045921669363</span> <span class="o">|</span> <span
class="mf">0.41870045921669363</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 45fb462..62936a1 100644
--- a/user-guide/common-operations/basic-info.html
+++ b/user-guide/common-operations/basic-info.html
@@ -384,11 +384,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">746</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">692</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">364</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">246</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">255</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">985</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">101</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">894</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">147</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">916</span> <span class="o">|</span> <span class="n">B</span>
<span class="o">|</span>
<span class="o">+-----+---------+--------+--------+</span>
</pre></div>
</div>
@@ -399,8 +399,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">746</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">692</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">985</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">101</span> <span class="o">|</span> <span class="n">A</span>
<span class="o">|</span>
<span class="o">+-----+--------+--------+--------+</span>
</pre></div>
</div>
@@ -418,11 +418,11 @@ 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">746</span> <span
class="n">A</span>
-<span class="mi">1</span> <span class="mi">2</span> <span
class="n">ruby</span> <span class="mi">692</span> <span
class="n">A</span>
-<span class="mi">2</span> <span class="mi">3</span> <span
class="n">java</span> <span class="mi">364</span> <span
class="n">B</span>
-<span class="mi">3</span> <span class="mi">4</span> <span
class="n">haskell</span> <span class="mi">246</span> <span
class="n">C</span>
-<span class="mi">4</span> <span class="mi">5</span> <span
class="n">go</span> <span class="mi">255</span> <span
class="n">B</span>
+<span class="mi">0</span> <span class="mi">1</span> <span
class="n">python</span> <span class="mi">985</span> <span
class="n">A</span>
+<span class="mi">1</span> <span class="mi">2</span> <span
class="n">ruby</span> <span class="mi">101</span> <span
class="n">A</span>
+<span class="mi">2</span> <span class="mi">3</span> <span
class="n">java</span> <span class="mi">894</span> <span
class="n">B</span>
+<span class="mi">3</span> <span class="mi">4</span> <span
class="n">haskell</span> <span class="mi">147</span> <span
class="n">C</span>
+<span class="mi">4</span> <span class="mi">5</span> <span
class="n">go</span> <span class="mi">916</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>
@@ -434,11 +434,11 @@ passing them to an Arrow table, and then converting them
to a pandas DataFrame.<
<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">460.6</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">241.1717230522683</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">246.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">746.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">364.0</span> <span class="o">|</span> <span
class="n">null</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">608.6</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">443.9474067949941</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">101.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">985.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">894.0</span> <span class="o">|</span> <span
class="n">null</span> <span class="o">|</span>
<span
class="o">+------------+--------------------+-------+-------------------+--------+</span>
</pre></div>
</div>
diff --git a/user-guide/common-operations/expressions.html
b/user-guide/common-operations/expressions.html
index fbd7906..947acf0 100644
--- a/user-guide/common-operations/expressions.html
+++ b/user-guide/common-operations/expressions.html
@@ -360,6 +360,16 @@
Boolean
</a>
</li>
+ <li class="toc-h2 nav-item toc-entry">
+ <a class="reference internal nav-link" href="#arrays">
+ Arrays
+ </a>
+ </li>
+ <li class="toc-h2 nav-item toc-entry">
+ <a class="reference internal nav-link" href="#structs">
+ Structs
+ </a>
+ </li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#functions">
Functions
@@ -422,23 +432,75 @@ examples for the and, or, and not operations.</p>
</pre></div>
</div>
</section>
+<section id="arrays">
+<h2>Arrays<a class="headerlink" href="#arrays" title="Link to this
heading">¶</a></h2>
+<p>For columns that contain arrays of values, you can access individual
elements of the array by index
+using bracket indexing. This is similar to callling the function
+<a class="reference internal"
href="../../autoapi/datafusion/functions/index.html#datafusion.functions.array_element"
title="datafusion.functions.array_element"><code class="xref py py-func
docutils literal notranslate"><span
class="pre">datafusion.functions.array_element()</span></code></a>, except that
array indexing using brackets is 0 based,
+similar to Python arrays and <code class="docutils literal notranslate"><span
class="pre">array_element</span></code> is 1 based indexing to be compatible
with other SQL
+approaches.</p>
+<div class="highlight-ipython notranslate"><div
class="highlight"><pre><span></span><span class="n">In</span> <span
class="p">[</span><span class="mi">5</span><span class="p">]:</span> <span
class="kn">from</span> <span class="nn">datafusion</span> <span
class="kn">import</span> <span class="n">SessionContext</span><span
class="p">,</span> <span class="n">col</span>
+
+<span class="n">In</span> <span class="p">[</span><span
class="mi">6</span><span class="p">]:</span> <span class="n">ctx</span> <span
class="o">=</span> <span class="n">SessionContext</span><span
class="p">()</span>
+
+<span class="n">In</span> <span class="p">[</span><span
class="mi">7</span><span class="p">]:</span> <span class="n">df</span> <span
class="o">=</span> <span class="n">ctx</span><span class="o">.</span><span
class="n">from_pydict</span><span class="p">({</span><span
class="s2">"a"</span><span class="p">:</span> <span
class="p">[[</span><span class="mi">1</span><span class="p">,</span> <span
class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span
class="p">],< [...]
+
+<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">select</span><span class="p">(</span><span
class="n">col</span><span class="p">(</span><span
class="s2">"a"</span><span class="p">)[</span><span
class="mi">0</span><span class="p">]</span><span class="o">.</span><span
class="n">alias</span><span class="p">(</span><span
class="s2">"a0"</span><span class="p [...]
+<span class="n">Out</span><span class="p">[</span><span
class="mi">8</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">a0</span> <span class="o">|</span>
+<span class="o">+----+</span>
+<span class="o">|</span> <span class="mi">1</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">4</span> <span class="o">|</span>
+<span class="o">+----+</span>
+</pre></div>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Indexing an element of an array via <code class="docutils literal
notranslate"><span class="pre">[]</span></code> starts at index 0 whereas
+<a class="reference internal"
href="../../autoapi/datafusion/functions/index.html#datafusion.functions.array_element"
title="datafusion.functions.array_element"><code class="xref py py-func
docutils literal notranslate"><span
class="pre">array_element()</span></code></a> starts at index 1.</p>
+</div>
+</section>
+<section id="structs">
+<h2>Structs<a class="headerlink" href="#structs" title="Link to this
heading">¶</a></h2>
+<p>Columns that contain struct elements can be accessed using the bracket
notation as if they were
+Python dictionary style objects. This expects a string key as the parameter
passed.</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">ctx</span> <span class="o">=</span> <span
class="n">SessionContext</span><span class="p">()</span>
+
+<span class="n">In</span> <span class="p">[</span><span
class="mi">10</span><span class="p">]:</span> <span class="n">data</span> <span
class="o">=</span> <span class="p">{</span><span
class="s2">"a"</span><span class="p">:</span> <span
class="p">[{</span><span class="s2">"size"</span><span
class="p">:</span> <span class="mi">15</span><span class="p">,</span> <span
class="s2">"color"</span><span class="p">:</span> <span
class="s2">"green"</span><sp [...]
+
+<span class="n">In</span> <span class="p">[</span><span
class="mi">11</span><span class="p">]:</span> <span class="n">df</span> <span
class="o">=</span> <span class="n">ctx</span><span class="o">.</span><span
class="n">from_pydict</span><span class="p">(</span><span
class="n">data</span><span class="p">)</span>
+
+<span class="n">In</span> <span class="p">[</span><span
class="mi">12</span><span class="p">]:</span> <span class="n">df</span><span
class="o">.</span><span class="n">select</span><span class="p">(</span><span
class="n">col</span><span class="p">(</span><span
class="s2">"a"</span><span class="p">)[</span><span
class="s2">"size"</span><span class="p">]</span><span
class="o">.</span><span class="n">alias</span><span class="p">(</span><span
class="s2">"a_size"< [...]
+<span class="n">Out</span><span class="p">[</span><span
class="mi">12</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">a_size</span> <span class="o">|</span>
+<span class="o">+--------+</span>
+<span class="o">|</span> <span class="mi">15</span> <span
class="o">|</span>
+<span class="o">|</span> <span class="mi">10</span> <span
class="o">|</span>
+<span class="o">+--------+</span>
+</pre></div>
+</div>
+</section>
<section id="functions">
<h2>Functions<a class="headerlink" href="#functions" title="Link to this
heading">¶</a></h2>
<p>As mentioned before, most functions in DataFusion return an expression at
their output. This allows us to create
a wide variety of expressions built up from other expressions. For example, <a
class="reference internal"
href="../../autoapi/datafusion/expr/index.html#datafusion.expr.Expr.alias"
title="datafusion.expr.Expr.alias"><code class="xref py py-func docutils
literal notranslate"><span class="pre">alias()</span></code></a> is a function
that takes
as it input a single expression and returns an expression in which the name of
the expression has changed.</p>
<p>The following example shows a series of expressions that are built up from
functions operating on expressions.</p>
-<div class="highlight-ipython notranslate"><div
class="highlight"><pre><span></span><span class="n">In</span> <span
class="p">[</span><span class="mi">5</span><span class="p">]:</span> <span
class="kn">from</span> <span class="nn">datafusion</span> <span
class="kn">import</span> <span class="n">SessionContext</span>
+<div class="highlight-ipython notranslate"><div
class="highlight"><pre><span></span><span class="n">In</span> <span
class="p">[</span><span class="mi">13</span><span class="p">]:</span> <span
class="kn">from</span> <span class="nn">datafusion</span> <span
class="kn">import</span> <span class="n">SessionContext</span>
-<span class="n">In</span> <span class="p">[</span><span
class="mi">6</span><span class="p">]:</span> <span class="kn">from</span> <span
class="nn">datafusion</span> <span class="kn">import</span> <span
class="n">column</span><span class="p">,</span> <span class="n">lit</span>
+<span class="n">In</span> <span class="p">[</span><span
class="mi">14</span><span class="p">]:</span> <span class="kn">from</span>
<span class="nn">datafusion</span> <span class="kn">import</span> <span
class="n">column</span><span class="p">,</span> <span class="n">lit</span>
-<span class="n">In</span> <span class="p">[</span><span
class="mi">7</span><span class="p">]:</span> <span class="kn">from</span> <span
class="nn">datafusion</span> <span class="kn">import</span> <span
class="n">functions</span> <span class="k">as</span> <span class="n">f</span>
+<span class="n">In</span> <span class="p">[</span><span
class="mi">15</span><span class="p">]:</span> <span class="kn">from</span>
<span class="nn">datafusion</span> <span class="kn">import</span> <span
class="n">functions</span> <span class="k">as</span> <span class="n">f</span>
-<span class="n">In</span> <span class="p">[</span><span
class="mi">8</span><span class="p">]:</span> <span class="kn">import</span>
<span class="nn">random</span>
+<span class="n">In</span> <span class="p">[</span><span
class="mi">16</span><span class="p">]:</span> <span class="kn">import</span>
<span class="nn">random</span>
-<span class="n">In</span> <span class="p">[</span><span
class="mi">9</span><span class="p">]:</span> <span class="n">ctx</span> <span
class="o">=</span> <span class="n">SessionContext</span><span
class="p">()</span>
+<span class="n">In</span> <span class="p">[</span><span
class="mi">17</span><span class="p">]:</span> <span class="n">ctx</span> <span
class="o">=</span> <span class="n">SessionContext</span><span
class="p">()</span>
-<span class="n">In</span> <span class="p">[</span><span
class="mi">10</span><span class="p">]:</span> <span class="n">df</span> <span
class="o">=</span> <span class="n">ctx</span><span class="o">.</span><span
class="n">from_pydict</span><span class="p">(</span>
+<span class="n">In</span> <span class="p">[</span><span
class="mi">18</span><span class="p">]:</span> <span class="n">df</span> <span
class="o">=</span> <span class="n">ctx</span><span class="o">.</span><span
class="n">from_pydict</span><span class="p">(</span>
<span class="o">....</span><span class="p">:</span> <span
class="p">{</span>
<span class="o">....</span><span class="p">:</span> <span
class="s2">"name"</span><span class="p">:</span> <span
class="p">[</span><span class="s2">"Albert"</span><span
class="p">,</span> <span class="s2">"Becca"</span><span
class="p">,</span> <span class="s2">"Carlos"</span><span
class="p">,</span> <span class="s2">"Dante"</span><span
class="p">],</span>
<span class="o">....</span><span class="p">:</span> <span
class="s2">"age"</span><span class="p">:</span> <span
class="p">[</span><span class="mi">42</span><span class="p">,</span> <span
class="mi">67</span><span class="p">,</span> <span class="mi">27</span><span
class="p">,</span> <span class="mi">71</span><span class="p">],</span>
@@ -448,20 +510,20 @@ as it input a single expression and returns an expression
in which the name of t
<span class="o">....</span><span class="p">:</span> <span class="p">)</span>
<span class="o">....</span><span class="p">:</span>
-<span class="n">In</span> <span class="p">[</span><span
class="mi">11</span><span class="p">]:</span> <span class="n">age_col</span>
<span class="o">=</span> <span class="n">col</span><span
class="p">(</span><span class="s2">"age"</span><span
class="p">)</span>
+<span class="n">In</span> <span class="p">[</span><span
class="mi">19</span><span class="p">]:</span> <span class="n">age_col</span>
<span class="o">=</span> <span class="n">col</span><span
class="p">(</span><span class="s2">"age"</span><span
class="p">)</span>
-<span class="n">In</span> <span class="p">[</span><span
class="mi">12</span><span class="p">]:</span> <span
class="n">renamed_age</span> <span class="o">=</span> <span
class="n">age_col</span><span class="o">.</span><span
class="n">alias</span><span class="p">(</span><span
class="s2">"age_in_years"</span><span class="p">)</span>
+<span class="n">In</span> <span class="p">[</span><span
class="mi">20</span><span class="p">]:</span> <span
class="n">renamed_age</span> <span class="o">=</span> <span
class="n">age_col</span><span class="o">.</span><span
class="n">alias</span><span class="p">(</span><span
class="s2">"age_in_years"</span><span class="p">)</span>
-<span class="n">In</span> <span class="p">[</span><span
class="mi">13</span><span class="p">]:</span> <span class="n">start_age</span>
<span class="o">=</span> <span class="n">age_col</span> <span
class="o">-</span> <span class="n">col</span><span class="p">(</span><span
class="s2">"years_in_position"</span><span class="p">)</span>
+<span class="n">In</span> <span class="p">[</span><span
class="mi">21</span><span class="p">]:</span> <span class="n">start_age</span>
<span class="o">=</span> <span class="n">age_col</span> <span
class="o">-</span> <span class="n">col</span><span class="p">(</span><span
class="s2">"years_in_position"</span><span class="p">)</span>
-<span class="n">In</span> <span class="p">[</span><span
class="mi">14</span><span class="p">]:</span> <span
class="n">started_young</span> <span class="o">=</span> <span
class="n">start_age</span> <span class="o"><</span> <span
class="n">lit</span><span class="p">(</span><span class="mi">18</span><span
class="p">)</span>
+<span class="n">In</span> <span class="p">[</span><span
class="mi">22</span><span class="p">]:</span> <span
class="n">started_young</span> <span class="o">=</span> <span
class="n">start_age</span> <span class="o"><</span> <span
class="n">lit</span><span class="p">(</span><span class="mi">18</span><span
class="p">)</span>
-<span class="n">In</span> <span class="p">[</span><span
class="mi">15</span><span class="p">]:</span> <span class="n">can_retire</span>
<span class="o">=</span> <span class="n">age_col</span> <span
class="o">></span> <span class="n">lit</span><span class="p">(</span><span
class="mi">65</span><span class="p">)</span>
+<span class="n">In</span> <span class="p">[</span><span
class="mi">23</span><span class="p">]:</span> <span class="n">can_retire</span>
<span class="o">=</span> <span class="n">age_col</span> <span
class="o">></span> <span class="n">lit</span><span class="p">(</span><span
class="mi">65</span><span class="p">)</span>
-<span class="n">In</span> <span class="p">[</span><span
class="mi">16</span><span class="p">]:</span> <span class="n">long_timer</span>
<span class="o">=</span> <span class="n">started_young</span> <span
class="o">&</span> <span class="n">can_retire</span>
+<span class="n">In</span> <span class="p">[</span><span
class="mi">24</span><span class="p">]:</span> <span class="n">long_timer</span>
<span class="o">=</span> <span class="n">started_young</span> <span
class="o">&</span> <span class="n">can_retire</span>
-<span class="n">In</span> <span class="p">[</span><span
class="mi">17</span><span class="p">]:</span> <span class="n">df</span><span
class="o">.</span><span class="n">filter</span><span class="p">(</span><span
class="n">long_timer</span><span class="p">)</span><span
class="o">.</span><span class="n">select</span><span class="p">(</span><span
class="n">col</span><span class="p">(</span><span
class="s2">"name"</span><span class="p">),</span> <span
class="n">renamed_age</span><spa [...]
-<span class="n">Out</span><span class="p">[</span><span
class="mi">17</span><span class="p">]:</span>
+<span class="n">In</span> <span class="p">[</span><span
class="mi">25</span><span class="p">]:</span> <span class="n">df</span><span
class="o">.</span><span class="n">filter</span><span class="p">(</span><span
class="n">long_timer</span><span class="p">)</span><span
class="o">.</span><span class="n">select</span><span class="p">(</span><span
class="n">col</span><span class="p">(</span><span
class="s2">"name"</span><span class="p">),</span> <span
class="n">renamed_age</span><spa [...]
+<span class="n">Out</span><span class="p">[</span><span
class="mi">25</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">name</span> <span class="o">|</span>
<span class="n">age_in_years</span> <span class="o">|</span> <span
class="n">years_in_position</span> <span class="o">|</span>
diff --git a/user-guide/common-operations/functions.html
b/user-guide/common-operations/functions.html
index 58eb840..d6e93b1 100644
--- a/user-guide/common-operations/functions.html
+++ b/user-guide/common-operations/functions.html
@@ -405,7 +405,7 @@ In here we will cover some of the more popular use cases.
If you want to view al
<span class="o">...</span><span class="p">:</span> <span
class="s2">"pokemon.csv"</span><span class="p">,</span>
<span class="o">...</span><span class="p">:</span> <span class="p">)</span>
<span class="o">...</span><span class="p">:</span>
-<span class="n">Out</span><span class="p">[</span><span
class="mi">3</span><span class="p">]:</span> <span class="p">(</span><span
class="s1">'pokemon.csv'</span><span class="p">,</span> <span
class="o"><</span><span class="n">http</span><span class="o">.</span><span
class="n">client</span><span class="o">.</span><span
class="n">HTTPMessage</span> <span class="n">at</span> <span
class="mh">0x7faa0e4a1dd0</span><span class="o">></span><span
class="p">)</span>
+<span class="n">Out</span><span class="p">[</span><span
class="mi">3</span><span class="p">]:</span> <span class="p">(</span><span
class="s1">'pokemon.csv'</span><span class="p">,</span> <span
class="o"><</span><span class="n">http</span><span class="o">.</span><span
class="n">client</span><span class="o">.</span><span
class="n">HTTPMessage</span> <span class="n">at</span> <span
class="mh">0x7f413411a0d0</span><span class="o">></span><span
class="p">)</span>
<span class="n">In</span> <span class="p">[</span><span
class="mi">4</span><span class="p">]:</span> <span class="n">ctx</span> <span
class="o">=</span> <span class="n">SessionContext</span><span
class="p">()</span>
@@ -479,16 +479,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">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T14</span><span class="p">:</span><span
class="mi">56</span><span class="p">:</span><span
class="mf">09.283827308</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T14</span><span class="p">:</span><span
class="mi">56</span><span class="p">:</span><span
class="mf">09.283827308</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T14</span><span class="p">:</span><span
class="mi">56</span><span class="p">:</span><span
class="mf">09.283827308</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T14</span><span class="p">:</span><span
class="mi">56</span><span class="p">:</span><span
class="mf">09.283827308</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T14</span><span class="p">:</span><span
class="mi">56</span><span class="p">:</span><span
class="mf">09.283827308</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T14</span><span class="p">:</span><span
class="mi">56</span><span class="p">:</span><span
class="mf">09.283827308</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T14</span><span class="p">:</span><span
class="mi">56</span><span class="p">:</span><span
class="mf">09.283827308</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T14</span><span class="p">:</span><span
class="mi">56</span><span class="p">:</span><span
class="mf">09.283827308</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T14</span><span class="p">:</span><span
class="mi">56</span><span class="p">:</span><span
class="mf">09.283827308</span><span class="n">Z</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T14</span><span class="p">:</span><span
class="mi">56</span><span class="p">:</span><span
class="mf">09.283827308</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T15</span><span class="p">:</span><span
class="mi">32</span><span class="p">:</span><span
class="mf">47.216142666</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T15</span><span class="p">:</span><span
class="mi">32</span><span class="p">:</span><span
class="mf">47.216142666</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T15</span><span class="p">:</span><span
class="mi">32</span><span class="p">:</span><span
class="mf">47.216142666</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T15</span><span class="p">:</span><span
class="mi">32</span><span class="p">:</span><span
class="mf">47.216142666</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T15</span><span class="p">:</span><span
class="mi">32</span><span class="p">:</span><span
class="mf">47.216142666</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T15</span><span class="p">:</span><span
class="mi">32</span><span class="p">:</span><span
class="mf">47.216142666</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T15</span><span class="p">:</span><span
class="mi">32</span><span class="p">:</span><span
class="mf">47.216142666</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T15</span><span class="p">:</span><span
class="mi">32</span><span class="p">:</span><span
class="mf">47.216142666</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T15</span><span class="p">:</span><span
class="mi">32</span><span class="p">:</span><span
class="mf">47.216142666</span><span class="n">Z</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2024</span><span
class="o">-</span><span class="mi">09</span><span class="o">-</span><span
class="mi">02</span><span class="n">T15</span><span class="p">:</span><span
class="mi">32</span><span class="p">:</span><span
class="mf">47.216142666</span><span class="n">Z</span> <span class="o">|</span>
<span class="o">+--------------------------------+</span>
</pre></div>
</div>
diff --git a/user-guide/common-operations/index.html
b/user-guide/common-operations/index.html
index 3be7ae9..5d7d67a 100644
--- a/user-guide/common-operations/index.html
+++ b/user-guide/common-operations/index.html
@@ -371,6 +371,8 @@
<li class="toctree-l2"><a class="reference internal"
href="expressions.html#column">Column</a></li>
<li class="toctree-l2"><a class="reference internal"
href="expressions.html#literal">Literal</a></li>
<li class="toctree-l2"><a class="reference internal"
href="expressions.html#boolean">Boolean</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="expressions.html#arrays">Arrays</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="expressions.html#structs">Structs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="expressions.html#functions">Functions</a></li>
</ul>
</li>
diff --git a/user-guide/common-operations/joins.html
b/user-guide/common-operations/joins.html
index 155ecd5..06077a8 100644
--- a/user-guide/common-operations/joins.html
+++ b/user-guide/common-operations/joins.html
@@ -433,8 +433,8 @@ will be included in the resulting DataFrame.</p>
<span class="o">+-------------+----------+----+-----------+</span>
<span class="o">|</span> <span class="n">customer_id</span> <span
class="o">|</span> <span class="n">customer</span> <span class="o">|</span>
<span class="nb">id</span> <span class="o">|</span> <span class="n">name</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">Alice</span> <span class="o">|</span>
<span class="mi">1</span> <span class="o">|</span> <span
class="n">CityCabs</span> <span class="o">|</span>
<span class="o">|</span> <span class="mi">2</span> <span
class="o">|</span> <span class="n">Bob</span> <span class="o">|</span>
<span class="mi">2</span> <span class="o">|</span> <span
class="n">MetroRide</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">1</span> <span
class="o">|</span> <span class="n">Alice</span> <span class="o">|</span>
<span class="mi">1</span> <span class="o">|</span> <span
class="n">CityCabs</span> <span class="o">|</span>
<span class="o">+-------------+----------+----+-----------+</span>
</pre></div>
</div>
@@ -452,8 +452,8 @@ values for the corresponding columns.</p>
<span class="o">+-------------+----------+----+-----------+</span>
<span class="o">|</span> <span class="n">customer_id</span> <span
class="o">|</span> <span class="n">customer</span> <span class="o">|</span>
<span class="nb">id</span> <span class="o">|</span> <span class="n">name</span>
<span class="o">|</span>
<span class="o">+-------------+----------+----+-----------+</span>
-<span class="o">|</span> <span class="mi">2</span> <span
class="o">|</span> <span class="n">Bob</span> <span class="o">|</span>
<span class="mi">2</span> <span class="o">|</span> <span
class="n">MetroRide</span> <span class="o">|</span>
<span class="o">|</span> <span class="mi">1</span> <span
class="o">|</span> <span class="n">Alice</span> <span class="o">|</span>
<span class="mi">1</span> <span class="o">|</span> <span
class="n">CityCabs</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2</span> <span
class="o">|</span> <span class="n">Bob</span> <span class="o">|</span>
<span class="mi">2</span> <span class="o">|</span> <span
class="n">MetroRide</span> <span class="o">|</span>
<span class="o">|</span> <span class="mi">3</span> <span
class="o">|</span> <span class="n">Charlie</span> <span class="o">|</span>
<span class="o">|</span> <span class="o">|</span>
<span class="o">+-------------+----------+----+-----------+</span>
</pre></div>
diff --git a/user-guide/common-operations/select-and-filter.html
b/user-guide/common-operations/select-and-filter.html
index 536cdf7..5cdc09f 100644
--- a/user-guide/common-operations/select-and-filter.html
+++ b/user-guide/common-operations/select-and-filter.html
@@ -373,7 +373,7 @@
<span class="n">In</span> <span class="p">[</span><span
class="mi">3</span><span class="p">]:</span> <span class="n">urllib</span><span
class="o">.</span><span class="n">request</span><span class="o">.</span><span
class="n">urlretrieve</span><span class="p">(</span><span
class="s2">"https://d37ci6vzurychx.cloudfront.net/trip-data/yellow_tripdata_2021-01.parquet"</span><span
class="p">,</span>
<span class="o">...</span><span class="p">:</span>
<span class="s2">"yellow_trip_data.parquet"</span><span
class="p">)</span>
<span class="o">...</span><span class="p">:</span>
-<span class="n">Out</span><span class="p">[</span><span
class="mi">3</span><span class="p">]:</span> <span class="p">(</span><span
class="s1">'yellow_trip_data.parquet'</span><span class="p">,</span>
<span class="o"><</span><span class="n">http</span><span
class="o">.</span><span class="n">client</span><span class="o">.</span><span
class="n">HTTPMessage</span> <span class="n">at</span> <span
class="mh">0x7fa9e0d7a190</span><span class="o">></span><span
class="p">)</span>
+<span class="n">Out</span><span class="p">[</span><span
class="mi">3</span><span class="p">]:</span> <span class="p">(</span><span
class="s1">'yellow_trip_data.parquet'</span><span class="p">,</span>
<span class="o"><</span><span class="n">http</span><span
class="o">.</span><span class="n">client</span><span class="o">.</span><span
class="n">HTTPMessage</span> <span class="n">at</span> <span
class="mh">0x7f412cf9e290</span><span class="o">></span><span
class="p">)</span>
<span class="n">In</span> <span class="p">[</span><span
class="mi">4</span><span class="p">]:</span> <span class="n">ctx</span> <span
class="o">=</span> <span class="n">SessionContext</span><span
class="p">()</span>
diff --git a/user-guide/common-operations/windows.html
b/user-guide/common-operations/windows.html
index 019a912..c8d944a 100644
--- a/user-guide/common-operations/windows.html
+++ b/user-guide/common-operations/windows.html
@@ -423,7 +423,7 @@ provides a single value for multiple rows.</p>
<span class="o">...</span><span class="p">:</span> <span
class="s2">"pokemon.csv"</span><span class="p">,</span>
<span class="o">...</span><span class="p">:</span> <span class="p">)</span>
<span class="o">...</span><span class="p">:</span>
-<span class="n">Out</span><span class="p">[</span><span
class="mi">5</span><span class="p">]:</span> <span class="p">(</span><span
class="s1">'pokemon.csv'</span><span class="p">,</span> <span
class="o"><</span><span class="n">http</span><span class="o">.</span><span
class="n">client</span><span class="o">.</span><span
class="n">HTTPMessage</span> <span class="n">at</span> <span
class="mh">0x7fa9e0d8bb10</span><span class="o">></span><span
class="p">)</span>
+<span class="n">Out</span><span class="p">[</span><span
class="mi">5</span><span class="p">]:</span> <span class="p">(</span><span
class="s1">'pokemon.csv'</span><span class="p">,</span> <span
class="o"><</span><span class="n">http</span><span class="o">.</span><span
class="n">client</span><span class="o">.</span><span
class="n">HTTPMessage</span> <span class="n">at</span> <span
class="mh">0x7f412cff3850</span><span class="o">></span><span
class="p">)</span>
<span class="n">In</span> <span class="p">[</span><span
class="mi">6</span><span class="p">]:</span> <span class="n">ctx</span> <span
class="o">=</span> <span class="n">SessionContext</span><span
class="p">()</span>
@@ -652,20 +652,20 @@ power in its <code class="docutils literal
notranslate"><span class="pre">"
<span class="o">....</span><span class="p">:</span>
<span class="n">Out</span><span class="p">[</span><span
class="mi">15</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">Name</span> <span
class="o">|</span> <span class="n">Attack</span> <span class="o">|</span> <span
class="n">Type</span> <span class="mi">1</span> <span class="o">|</span> <span
class="n">Average</span> <span class="n">Attack</span> <span
class="o">|</span>
-<span
class="o">+-----------------------+--------+--------+-------------------+</span>
-<span class="o">|</span> <span class="n">Scyther</span> <span
class="o">|</span> <span class="mi">110</span> <span class="o">|</span>
<span class="n">Bug</span> <span class="o">|</span> <span
class="mf">76.42857142857143</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Metapod</span> <span
class="o">|</span> <span class="mi">20</span> <span class="o">|</span>
<span class="n">Bug</span> <span class="o">|</span> <span
class="mf">76.42857142857143</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Butterfree</span> <span
class="o">|</span> <span class="mi">45</span> <span class="o">|</span>
<span class="n">Bug</span> <span class="o">|</span> <span
class="mf">76.42857142857143</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Weedle</span> <span
class="o">|</span> <span class="mi">35</span> <span class="o">|</span>
<span class="n">Bug</span> <span class="o">|</span> <span
class="mf">76.42857142857143</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Kakuna</span> <span
class="o">|</span> <span class="mi">25</span> <span class="o">|</span>
<span class="n">Bug</span> <span class="o">|</span> <span
class="mf">76.42857142857143</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Beedrill</span> <span
class="o">|</span> <span class="mi">90</span> <span class="o">|</span>
<span class="n">Bug</span> <span class="o">|</span> <span
class="mf">76.42857142857143</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">BeedrillMega</span> <span
class="n">Beedrill</span> <span class="o">|</span> <span class="mi">150</span>
<span class="o">|</span> <span class="n">Bug</span> <span
class="o">|</span> <span class="mf">76.42857142857143</span> <span
class="o">|</span>
-<span class="o">|</span> <span class="n">Parasect</span> <span
class="o">|</span> <span class="mi">95</span> <span class="o">|</span>
<span class="n">Bug</span> <span class="o">|</span> <span
class="mf">76.42857142857143</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Paras</span> <span
class="o">|</span> <span class="mi">70</span> <span class="o">|</span>
<span class="n">Bug</span> <span class="o">|</span> <span
class="mf">76.42857142857143</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Venomoth</span> <span
class="o">|</span> <span class="mi">65</span> <span class="o">|</span>
<span class="n">Bug</span> <span class="o">|</span> <span
class="mf">76.42857142857143</span> <span class="o">|</span>
-<span
class="o">+-----------------------+--------+--------+-------------------+</span>
+<span class="o">+------------+--------+--------+----------------+</span>
+<span class="o">|</span> <span class="n">Name</span> <span
class="o">|</span> <span class="n">Attack</span> <span class="o">|</span> <span
class="n">Type</span> <span class="mi">1</span> <span class="o">|</span> <span
class="n">Average</span> <span class="n">Attack</span> <span class="o">|</span>
+<span class="o">+------------+--------+--------+----------------+</span>
+<span class="o">|</span> <span class="n">Jynx</span> <span
class="o">|</span> <span class="mi">50</span> <span class="o">|</span>
<span class="n">Ice</span> <span class="o">|</span> <span
class="mf">67.5</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Articuno</span> <span
class="o">|</span> <span class="mi">85</span> <span class="o">|</span>
<span class="n">Ice</span> <span class="o">|</span> <span
class="mf">67.5</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Farfetch</span><span
class="s1">'d | 65 | Normal | 70.625 |</span>
+<span class="o">|</span> <span class="n">Jigglypuff</span> <span
class="o">|</span> <span class="mi">45</span> <span class="o">|</span>
<span class="n">Normal</span> <span class="o">|</span> <span
class="mf">70.625</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Rattata</span> <span
class="o">|</span> <span class="mi">56</span> <span class="o">|</span>
<span class="n">Normal</span> <span class="o">|</span> <span
class="mf">70.625</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Raticate</span> <span
class="o">|</span> <span class="mi">81</span> <span class="o">|</span>
<span class="n">Normal</span> <span class="o">|</span> <span
class="mf">70.625</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Spearow</span> <span
class="o">|</span> <span class="mi">60</span> <span class="o">|</span>
<span class="n">Normal</span> <span class="o">|</span> <span
class="mf">70.625</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Fearow</span> <span
class="o">|</span> <span class="mi">90</span> <span class="o">|</span>
<span class="n">Normal</span> <span class="o">|</span> <span
class="mf">70.625</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Doduo</span> <span
class="o">|</span> <span class="mi">85</span> <span class="o">|</span>
<span class="n">Normal</span> <span class="o">|</span> <span
class="mf">70.625</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Wigglytuff</span> <span
class="o">|</span> <span class="mi">70</span> <span class="o">|</span>
<span class="n">Normal</span> <span class="o">|</span> <span
class="mf">70.625</span> <span class="o">|</span>
+<span class="o">+------------+--------+--------+----------------+</span>
</pre></div>
</div>
</section>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]