From 0a96ee45003ed00c66dd752d50f84bae5944f9e9 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Wed, 12 Apr 2023 18:50:36 -0800 Subject: [PATCH] docs(intro): create Ibis for dplyr users document MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: François Michonneau Co-authored-by: Phillip Cloud <417981+cpcloud@users.noreply.github.com> Co-authored-by: Ian Cook Co-authored-by: Gil Forsyth --- docs/SUMMARY.md | 1 + docs/ibis-for-dplyr-users.ipynb | 719 ++++++++++++++++++++++++++++++++ 2 files changed, 720 insertions(+) create mode 100644 docs/ibis-for-dplyr-users.ipynb diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 93a3762f28e03..b4a0f696d82a8 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -22,6 +22,7 @@ * [Configuration](api/config.md) * [Ibis for SQL Programmers](ibis-for-sql-programmers.ipynb) * [Ibis for pandas Users](ibis-for-pandas-users.ipynb) + * [Ibis for dplyr Users](ibis-for-dplyr-users.ipynb) * [Backend Operations Matrix](backends/support_matrix.md) * [Why Ibis?](why_ibis.md) * [Releases](release_notes.md) diff --git a/docs/ibis-for-dplyr-users.ipynb b/docs/ibis-for-dplyr-users.ipynb new file mode 100644 index 0000000000000..c8e8795fb17f0 --- /dev/null +++ b/docs/ibis-for-dplyr-users.ipynb @@ -0,0 +1,719 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ibis for dplyr Users" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "[R](https://www.r-project.org/) users familiar with [dplyr](https://dplyr.tidyverse.org/) are likely to find some parts of Ibis familiar.\n", + "In fact, some Ibis verbs have been named to match their corresponding dplyr verbs.\n", + "\n", + "However, due to constraints of the Python programming language and the design and goals of Ibis itself, analysts familiar with dplyr may notice some big between the two right away:\n", + "\n", + "TODO: Fill this list in more.\n", + "\n", + "- No pipe syntax but you do have chaining\n", + "- mutate can't do internal references, you have to chain mutates\n", + "- ibis has more similar to dplyr+dbplyr (TODO: expand on this)\n", + "- `_` as a helper\n", + "- NULL ordering. ibis sorts NULLs differently than dplyr/R. TODO:\n", + " - Figure out why this is and explain it well\n", + "- There are multiple ways to reference columns (by string or by \"reference\")\n", + "- Wrapping complex expressions in parens to make the evaluate correctly" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Comparison\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Loading Ibis" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "import ibis\n", + "import ibis.examples as ex\n", + "import ibis.selectors as s" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "from ibis import _" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "ibis.options.interactive = True" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Loading example data" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "starwars = ex.starwars.fetch()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "starwars.head()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### filter()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓\n",
+       "┃ name               height  mass     hair_color  skin_color  eye_color  birth_year  sex     gender     homeworld  species  films   vehicles  starships ┃\n",
+       "┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩\n",
+       "│ stringint64float64stringstringstringfloat64stringstringstringstringstringstringstring    │\n",
+       "├───────────────────┼────────┼─────────┼────────────┼────────────┼───────────┼────────────┼────────┼───────────┼───────────┼─────────┼────────┼──────────┼───────────┤\n",
+       "│ Leia Organa      15049.0brown     light     brown    19.0femalefeminine Alderaan Human  NULLNULLNULL      │\n",
+       "│ Biggs Darklighter18384.0black     light     brown    24.0male  masculineTatooine Human  NULLNULLNULL      │\n",
+       "│ Cordé            157nanbrown     light     brown    nanfemalefeminine Naboo    Human  NULLNULLNULL      │\n",
+       "│ Dormé            165nanbrown     light     brown    nanfemalefeminine Naboo    Human  NULLNULLNULL      │\n",
+       "│ Raymus Antilles  18879.0brown     light     brown    nanmale  masculineAlderaan Human  NULLNULLNULL      │\n",
+       "│ Poe Dameron      NULLnanbrown     light     brown    nanmale  masculineNULLHuman  NULLNULLNULL      │\n",
+       "│ Padmé Amidala    16545.0brown     light     brown    46.0femalefeminine Naboo    Human  NULLNULLNULL      │\n",
+       "└───────────────────┴────────┴─────────┴────────────┴────────────┴───────────┴────────────┴────────┴───────────┴───────────┴─────────┴────────┴──────────┴───────────┘\n",
+       "
\n" + ], + "text/plain": [ + "┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mname\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mheight\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mmass\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mhair_color\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mskin_color\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1meye_color\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mbirth_year\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1msex\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mgender\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mhomeworld\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mspecies\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mfilms\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mvehicles\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mstarships\u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩\n", + "│ \u001b[2mstring\u001b[0m │ \u001b[2mint64\u001b[0m │ \u001b[2mfloat64\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mfloat64\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │\n", + "├───────────────────┼────────┼─────────┼────────────┼────────────┼───────────┼────────────┼────────┼───────────┼───────────┼─────────┼────────┼──────────┼───────────┤\n", + "│ \u001b[32mLeia Organa \u001b[0m │ \u001b[1;36m150\u001b[0m │ \u001b[1;36m49.0\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36m19.0\u001b[0m │ \u001b[32mfemale\u001b[0m │ \u001b[32mfeminine \u001b[0m │ \u001b[32mAlderaan \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mBiggs Darklighter\u001b[0m │ \u001b[1;36m183\u001b[0m │ \u001b[1;36m84.0\u001b[0m │ \u001b[32mblack \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36m24.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mCordé \u001b[0m │ \u001b[1;36m157\u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mfemale\u001b[0m │ \u001b[32mfeminine \u001b[0m │ \u001b[32mNaboo \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mDormé \u001b[0m │ \u001b[1;36m165\u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mfemale\u001b[0m │ \u001b[32mfeminine \u001b[0m │ \u001b[32mNaboo \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mRaymus Antilles \u001b[0m │ \u001b[1;36m188\u001b[0m │ \u001b[1;36m79.0\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mAlderaan \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mPoe Dameron \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mPadmé Amidala \u001b[0m │ \u001b[1;36m165\u001b[0m │ \u001b[1;36m45.0\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36m46.0\u001b[0m │ \u001b[32mfemale\u001b[0m │ \u001b[32mfeminine \u001b[0m │ \u001b[32mNaboo \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "└───────────────────┴────────┴─────────┴────────────┴────────────┴───────────┴────────────┴────────┴───────────┴───────────┴─────────┴────────┴──────────┴───────────┘" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "starwars.filter([_.skin_color == \"light\", _.eye_color == \"brown\"])" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### arrange()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓\n",
+       "┃ name                   height  mass     hair_color  skin_color  eye_color  birth_year  sex     gender     homeworld    species         films   vehicles  starships ┃\n",
+       "┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩\n",
+       "│ stringint64float64stringstringstringfloat64stringstringstringstringstringstringstring    │\n",
+       "├───────────────────────┼────────┼─────────┼────────────┼────────────┼───────────┼────────────┼────────┼───────────┼─────────────┼────────────────┼────────┼──────────┼───────────┤\n",
+       "│ Arvel Crynyd         NULLnanbrown     fair      brown    nanmale  masculineNULLHuman         NULLNULLNULL      │\n",
+       "│ Finn                 NULLnanblack     dark      dark     nanmale  masculineNULLHuman         NULLNULLNULL      │\n",
+       "│ Rey                  NULLnanbrown     light     hazel    nanfemalefeminine NULLHuman         NULLNULLNULL      │\n",
+       "│ Poe Dameron          NULLnanbrown     light     brown    nanmale  masculineNULLHuman         NULLNULLNULL      │\n",
+       "│ BB8                  NULLnannone      none      black    nannone  masculineNULLDroid         NULLNULLNULL      │\n",
+       "│ Captain Phasma       NULLnanunknown   unknown   unknown  nanNULLNULLNULLNULLNULLNULLNULL      │\n",
+       "│ Yoda                 6617.0white     green     brown    896.0male  masculineNULLYoda's speciesNULLNULLNULL      │\n",
+       "│ Ratts Tyerell        7915.0none      grey, blueunknown  nanmale  masculineAleen MinorAleena        NULLNULLNULL      │\n",
+       "│ Wicket Systri Warrick8820.0brown     brown     brown    8.0male  masculineEndor      Ewok          NULLNULLNULL      │\n",
+       "│ Dud Bolt             9445.0none      blue, greyyellow   nanmale  masculineVulpter    Vulptereen    NULLNULLNULL      │\n",
+       "│          │\n",
+       "└───────────────────────┴────────┴─────────┴────────────┴────────────┴───────────┴────────────┴────────┴───────────┴─────────────┴────────────────┴────────┴──────────┴───────────┘\n",
+       "
\n" + ], + "text/plain": [ + "┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mname\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mheight\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mmass\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mhair_color\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mskin_color\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1meye_color\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mbirth_year\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1msex\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mgender\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mhomeworld\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mspecies\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mfilms\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mvehicles\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mstarships\u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩\n", + "│ \u001b[2mstring\u001b[0m │ \u001b[2mint64\u001b[0m │ \u001b[2mfloat64\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mfloat64\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │\n", + "├───────────────────────┼────────┼─────────┼────────────┼────────────┼───────────┼────────────┼────────┼───────────┼─────────────┼────────────────┼────────┼──────────┼───────────┤\n", + "│ \u001b[32mArvel Crynyd \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mfair \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mFinn \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mblack \u001b[0m │ \u001b[32mdark \u001b[0m │ \u001b[32mdark \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mRey \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mhazel \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mfemale\u001b[0m │ \u001b[32mfeminine \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mPoe Dameron \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mBB8 \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mblack \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mDroid \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mCaptain Phasma \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32munknown \u001b[0m │ \u001b[32munknown \u001b[0m │ \u001b[32munknown \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mYoda \u001b[0m │ \u001b[1;36m66\u001b[0m │ \u001b[1;36m17.0\u001b[0m │ \u001b[32mwhite \u001b[0m │ \u001b[32mgreen \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36m896.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mYoda's species\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mRatts Tyerell \u001b[0m │ \u001b[1;36m79\u001b[0m │ \u001b[1;36m15.0\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mgrey, blue\u001b[0m │ \u001b[32munknown \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mAleen Minor\u001b[0m │ \u001b[32mAleena \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mWicket Systri Warrick\u001b[0m │ \u001b[1;36m88\u001b[0m │ \u001b[1;36m20.0\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36m8.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mEndor \u001b[0m │ \u001b[32mEwok \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mDud Bolt \u001b[0m │ \u001b[1;36m94\u001b[0m │ \u001b[1;36m45.0\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mblue, grey\u001b[0m │ \u001b[32myellow \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mVulpter \u001b[0m │ \u001b[32mVulptereen \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │\n", + "└───────────────────────┴────────┴─────────┴────────────┴────────────┴───────────┴────────────┴────────┴───────────┴─────────────┴────────────────┴────────┴──────────┴───────────┘" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "starwars.order_by(_.height)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
┏━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓\n",
+       "┃ name            height  mass     hair_color  skin_color  eye_color  birth_year  sex     gender     homeworld  species   films   vehicles  starships ┃\n",
+       "┡━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩\n",
+       "│ stringint64float64stringstringstringfloat64stringstringstringstringstringstringstring    │\n",
+       "├────────────────┼────────┼─────────┼────────────┼────────────┼───────────┼────────────┼────────┼───────────┼───────────┼──────────┼────────┼──────────┼───────────┤\n",
+       "│ Arvel Crynyd  NULLnanbrown     fair      brown    nanmale  masculineNULLHuman   NULLNULLNULL      │\n",
+       "│ Finn          NULLnanblack     dark      dark     nanmale  masculineNULLHuman   NULLNULLNULL      │\n",
+       "│ Rey           NULLnanbrown     light     hazel    nanfemalefeminine NULLHuman   NULLNULLNULL      │\n",
+       "│ Poe Dameron   NULLnanbrown     light     brown    nanmale  masculineNULLHuman   NULLNULLNULL      │\n",
+       "│ BB8           NULLnannone      none      black    nannone  masculineNULLDroid   NULLNULLNULL      │\n",
+       "│ Captain PhasmaNULLnanunknown   unknown   unknown  nanNULLNULLNULLNULLNULLNULLNULL      │\n",
+       "│ Yarael Poof   264nannone      white     yellow   nanmale  masculineQuermia  QuermianNULLNULLNULL      │\n",
+       "│ Tarfful       234136.0brown     brown     blue     nanmale  masculineKashyyyk Wookiee NULLNULLNULL      │\n",
+       "│ Lama Su       22988.0none      grey      black    nanmale  masculineKamino   KaminoanNULLNULLNULL      │\n",
+       "│ Chewbacca     228112.0brown     unknown   blue     200.0male  masculineKashyyyk Wookiee NULLNULLNULL      │\n",
+       "│          │\n",
+       "└────────────────┴────────┴─────────┴────────────┴────────────┴───────────┴────────────┴────────┴───────────┴───────────┴──────────┴────────┴──────────┴───────────┘\n",
+       "
\n" + ], + "text/plain": [ + "┏━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mname\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mheight\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mmass\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mhair_color\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mskin_color\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1meye_color\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mbirth_year\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1msex\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mgender\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mhomeworld\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mspecies\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mfilms\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mvehicles\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mstarships\u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩\n", + "│ \u001b[2mstring\u001b[0m │ \u001b[2mint64\u001b[0m │ \u001b[2mfloat64\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mfloat64\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │\n", + "├────────────────┼────────┼─────────┼────────────┼────────────┼───────────┼────────────┼────────┼───────────┼───────────┼──────────┼────────┼──────────┼───────────┤\n", + "│ \u001b[32mArvel Crynyd \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mfair \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mFinn \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mblack \u001b[0m │ \u001b[32mdark \u001b[0m │ \u001b[32mdark \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mRey \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mhazel \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mfemale\u001b[0m │ \u001b[32mfeminine \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mPoe Dameron \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mBB8 \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mblack \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mDroid \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mCaptain Phasma\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32munknown \u001b[0m │ \u001b[32munknown \u001b[0m │ \u001b[32munknown \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mYarael Poof \u001b[0m │ \u001b[1;36m264\u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mwhite \u001b[0m │ \u001b[32myellow \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mQuermia \u001b[0m │ \u001b[32mQuermian\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mTarfful \u001b[0m │ \u001b[1;36m234\u001b[0m │ \u001b[1;36m136.0\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mblue \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mKashyyyk \u001b[0m │ \u001b[32mWookiee \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mLama Su \u001b[0m │ \u001b[1;36m229\u001b[0m │ \u001b[1;36m88.0\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mgrey \u001b[0m │ \u001b[32mblack \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mKamino \u001b[0m │ \u001b[32mKaminoan\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mChewbacca \u001b[0m │ \u001b[1;36m228\u001b[0m │ \u001b[1;36m112.0\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32munknown \u001b[0m │ \u001b[32mblue \u001b[0m │ \u001b[1;36m200.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mKashyyyk \u001b[0m │ \u001b[32mWookiee \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │\n", + "└────────────────┴────────┴─────────┴────────────┴────────────┴───────────┴────────────┴────────┴───────────┴───────────┴──────────┴────────┴──────────┴───────────┘" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "starwars.order_by(_.height.desc())" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### slice()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓\n",
+       "┃ name                height  mass     hair_color   skin_color  eye_color  birth_year  sex     gender     homeworld  species  films   vehicles  starships ┃\n",
+       "┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩\n",
+       "│ stringint64float64stringstringstringfloat64stringstringstringstringstringstringstring    │\n",
+       "├────────────────────┼────────┼─────────┼─────────────┼────────────┼───────────┼────────────┼────────┼───────────┼───────────┼─────────┼────────┼──────────┼───────────┤\n",
+       "│ Leia Organa       15049.0brown      light     brown    19.0femalefeminine Alderaan Human  NULLNULLNULL      │\n",
+       "│ Owen Lars         178120.0brown, greylight     blue     52.0male  masculineTatooine Human  NULLNULLNULL      │\n",
+       "│ Beru Whitesun lars16575.0brown      light     blue     47.0femalefeminine Tatooine Human  NULLNULLNULL      │\n",
+       "│ R5-D4             9732.0NULLwhite, redred      nannone  masculineTatooine Droid  NULLNULLNULL      │\n",
+       "│ Biggs Darklighter 18384.0black      light     brown    24.0male  masculineTatooine Human  NULLNULLNULL      │\n",
+       "└────────────────────┴────────┴─────────┴─────────────┴────────────┴───────────┴────────────┴────────┴───────────┴───────────┴─────────┴────────┴──────────┴───────────┘\n",
+       "
\n" + ], + "text/plain": [ + "┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mname\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mheight\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mmass\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mhair_color\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mskin_color\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1meye_color\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mbirth_year\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1msex\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mgender\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mhomeworld\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mspecies\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mfilms\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mvehicles\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mstarships\u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩\n", + "│ \u001b[2mstring\u001b[0m │ \u001b[2mint64\u001b[0m │ \u001b[2mfloat64\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mfloat64\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │\n", + "├────────────────────┼────────┼─────────┼─────────────┼────────────┼───────────┼────────────┼────────┼───────────┼───────────┼─────────┼────────┼──────────┼───────────┤\n", + "│ \u001b[32mLeia Organa \u001b[0m │ \u001b[1;36m150\u001b[0m │ \u001b[1;36m49.0\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36m19.0\u001b[0m │ \u001b[32mfemale\u001b[0m │ \u001b[32mfeminine \u001b[0m │ \u001b[32mAlderaan \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mOwen Lars \u001b[0m │ \u001b[1;36m178\u001b[0m │ \u001b[1;36m120.0\u001b[0m │ \u001b[32mbrown, grey\u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mblue \u001b[0m │ \u001b[1;36m52.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mBeru Whitesun lars\u001b[0m │ \u001b[1;36m165\u001b[0m │ \u001b[1;36m75.0\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mblue \u001b[0m │ \u001b[1;36m47.0\u001b[0m │ \u001b[32mfemale\u001b[0m │ \u001b[32mfeminine \u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mR5-D4 \u001b[0m │ \u001b[1;36m97\u001b[0m │ \u001b[1;36m32.0\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mwhite, red\u001b[0m │ \u001b[32mred \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mDroid \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mBiggs Darklighter \u001b[0m │ \u001b[1;36m183\u001b[0m │ \u001b[1;36m84.0\u001b[0m │ \u001b[32mblack \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36m24.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "└────────────────────┴────────┴─────────┴─────────────┴────────────┴───────────┴────────────┴────────┴───────────┴───────────┴─────────┴────────┴──────────┴───────────┘" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "starwars.limit(5, offset = 4)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━┓\n",
+       "┃ hair_color     skin_color   eye_color ┃\n",
+       "┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━┩\n",
+       "│ stringstringstring    │\n",
+       "├───────────────┼─────────────┼───────────┤\n",
+       "│ blond        fair       blue      │\n",
+       "│ NULLgold       yellow    │\n",
+       "│ NULLwhite, bluered       │\n",
+       "│ none         white      yellow    │\n",
+       "│ brown        light      brown     │\n",
+       "│ brown, grey  light      blue      │\n",
+       "│ brown        light      blue      │\n",
+       "│ NULLwhite, red red       │\n",
+       "│ black        light      brown     │\n",
+       "│ auburn, whitefair       blue-gray │\n",
+       "│          │\n",
+       "└───────────────┴─────────────┴───────────┘\n",
+       "
\n" + ], + "text/plain": [ + "┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mhair_color\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mskin_color\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1meye_color\u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━┩\n", + "│ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │\n", + "├───────────────┼─────────────┼───────────┤\n", + "│ \u001b[32mblond \u001b[0m │ \u001b[32mfair \u001b[0m │ \u001b[32mblue \u001b[0m │\n", + "│ \u001b[2mNULL\u001b[0m │ \u001b[32mgold \u001b[0m │ \u001b[32myellow \u001b[0m │\n", + "│ \u001b[2mNULL\u001b[0m │ \u001b[32mwhite, blue\u001b[0m │ \u001b[32mred \u001b[0m │\n", + "│ \u001b[32mnone \u001b[0m │ \u001b[32mwhite \u001b[0m │ \u001b[32myellow \u001b[0m │\n", + "│ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │\n", + "│ \u001b[32mbrown, grey \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mblue \u001b[0m │\n", + "│ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mblue \u001b[0m │\n", + "│ \u001b[2mNULL\u001b[0m │ \u001b[32mwhite, red \u001b[0m │ \u001b[32mred \u001b[0m │\n", + "│ \u001b[32mblack \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │\n", + "│ \u001b[32mauburn, white\u001b[0m │ \u001b[32mfair \u001b[0m │ \u001b[32mblue-gray\u001b[0m │\n", + "│ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │\n", + "└───────────────┴─────────────┴───────────┘" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "starwars.select([\"hair_color\", \"skin_color\", \"eye_color\"])" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### select()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━┓\n",
+       "┃ hair_color     skin_color   eye_color ┃\n",
+       "┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━┩\n",
+       "│ stringstringstring    │\n",
+       "├───────────────┼─────────────┼───────────┤\n",
+       "│ blond        fair       blue      │\n",
+       "│ NULLgold       yellow    │\n",
+       "│ NULLwhite, bluered       │\n",
+       "│ none         white      yellow    │\n",
+       "│ brown        light      brown     │\n",
+       "│ brown, grey  light      blue      │\n",
+       "│ brown        light      blue      │\n",
+       "│ NULLwhite, red red       │\n",
+       "│ black        light      brown     │\n",
+       "│ auburn, whitefair       blue-gray │\n",
+       "│          │\n",
+       "└───────────────┴─────────────┴───────────┘\n",
+       "
\n" + ], + "text/plain": [ + "┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mhair_color\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mskin_color\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1meye_color\u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━┩\n", + "│ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │\n", + "├───────────────┼─────────────┼───────────┤\n", + "│ \u001b[32mblond \u001b[0m │ \u001b[32mfair \u001b[0m │ \u001b[32mblue \u001b[0m │\n", + "│ \u001b[2mNULL\u001b[0m │ \u001b[32mgold \u001b[0m │ \u001b[32myellow \u001b[0m │\n", + "│ \u001b[2mNULL\u001b[0m │ \u001b[32mwhite, blue\u001b[0m │ \u001b[32mred \u001b[0m │\n", + "│ \u001b[32mnone \u001b[0m │ \u001b[32mwhite \u001b[0m │ \u001b[32myellow \u001b[0m │\n", + "│ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │\n", + "│ \u001b[32mbrown, grey \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mblue \u001b[0m │\n", + "│ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mblue \u001b[0m │\n", + "│ \u001b[2mNULL\u001b[0m │ \u001b[32mwhite, red \u001b[0m │ \u001b[32mred \u001b[0m │\n", + "│ \u001b[32mblack \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │\n", + "│ \u001b[32mauburn, white\u001b[0m │ \u001b[32mfair \u001b[0m │ \u001b[32mblue-gray\u001b[0m │\n", + "│ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │\n", + "└───────────────┴─────────────┴───────────┘" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "starwars.select(s.endswith(\"color\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### rename()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓\n",
+       "┃ name                height  mass     hair_color     skin_color   eye_color  birth_year  sex     gender     home_world  species  films   vehicles  starships ┃\n",
+       "┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩\n",
+       "│ stringint64float64stringstringstringfloat64stringstringstringstringstringstringstring    │\n",
+       "├────────────────────┼────────┼─────────┼───────────────┼─────────────┼───────────┼────────────┼────────┼───────────┼────────────┼─────────┼────────┼──────────┼───────────┤\n",
+       "│ Luke Skywalker    17277.0blond        fair       blue     19.0male  masculineTatooine  Human  NULLNULLNULL      │\n",
+       "│ C-3PO             16775.0NULLgold       yellow   112.0none  masculineTatooine  Droid  NULLNULLNULL      │\n",
+       "│ R2-D2             9632.0NULLwhite, bluered      33.0none  masculineNaboo     Droid  NULLNULLNULL      │\n",
+       "│ Darth Vader       202136.0none         white      yellow   41.9male  masculineTatooine  Human  NULLNULLNULL      │\n",
+       "│ Leia Organa       15049.0brown        light      brown    19.0femalefeminine Alderaan  Human  NULLNULLNULL      │\n",
+       "│ Owen Lars         178120.0brown, grey  light      blue     52.0male  masculineTatooine  Human  NULLNULLNULL      │\n",
+       "│ Beru Whitesun lars16575.0brown        light      blue     47.0femalefeminine Tatooine  Human  NULLNULLNULL      │\n",
+       "│ R5-D4             9732.0NULLwhite, red red      nannone  masculineTatooine  Droid  NULLNULLNULL      │\n",
+       "│ Biggs Darklighter 18384.0black        light      brown    24.0male  masculineTatooine  Human  NULLNULLNULL      │\n",
+       "│ Obi-Wan Kenobi    18277.0auburn, whitefair       blue-gray57.0male  masculineStewjon   Human  NULLNULLNULL      │\n",
+       "│          │\n",
+       "└────────────────────┴────────┴─────────┴───────────────┴─────────────┴───────────┴────────────┴────────┴───────────┴────────────┴─────────┴────────┴──────────┴───────────┘\n",
+       "
\n" + ], + "text/plain": [ + "┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mname\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mheight\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mmass\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mhair_color\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mskin_color\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1meye_color\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mbirth_year\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1msex\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mgender\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mhome_world\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mspecies\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mfilms\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mvehicles\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mstarships\u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩\n", + "│ \u001b[2mstring\u001b[0m │ \u001b[2mint64\u001b[0m │ \u001b[2mfloat64\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mfloat64\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │\n", + "├────────────────────┼────────┼─────────┼───────────────┼─────────────┼───────────┼────────────┼────────┼───────────┼────────────┼─────────┼────────┼──────────┼───────────┤\n", + "│ \u001b[32mLuke Skywalker \u001b[0m │ \u001b[1;36m172\u001b[0m │ \u001b[1;36m77.0\u001b[0m │ \u001b[32mblond \u001b[0m │ \u001b[32mfair \u001b[0m │ \u001b[32mblue \u001b[0m │ \u001b[1;36m19.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mC-3PO \u001b[0m │ \u001b[1;36m167\u001b[0m │ \u001b[1;36m75.0\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mgold \u001b[0m │ \u001b[32myellow \u001b[0m │ \u001b[1;36m112.0\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mDroid \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mR2-D2 \u001b[0m │ \u001b[1;36m96\u001b[0m │ \u001b[1;36m32.0\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mwhite, blue\u001b[0m │ \u001b[32mred \u001b[0m │ \u001b[1;36m33.0\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mNaboo \u001b[0m │ \u001b[32mDroid \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mDarth Vader \u001b[0m │ \u001b[1;36m202\u001b[0m │ \u001b[1;36m136.0\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mwhite \u001b[0m │ \u001b[32myellow \u001b[0m │ \u001b[1;36m41.9\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mLeia Organa \u001b[0m │ \u001b[1;36m150\u001b[0m │ \u001b[1;36m49.0\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36m19.0\u001b[0m │ \u001b[32mfemale\u001b[0m │ \u001b[32mfeminine \u001b[0m │ \u001b[32mAlderaan \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mOwen Lars \u001b[0m │ \u001b[1;36m178\u001b[0m │ \u001b[1;36m120.0\u001b[0m │ \u001b[32mbrown, grey \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mblue \u001b[0m │ \u001b[1;36m52.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mBeru Whitesun lars\u001b[0m │ \u001b[1;36m165\u001b[0m │ \u001b[1;36m75.0\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mblue \u001b[0m │ \u001b[1;36m47.0\u001b[0m │ \u001b[32mfemale\u001b[0m │ \u001b[32mfeminine \u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mR5-D4 \u001b[0m │ \u001b[1;36m97\u001b[0m │ \u001b[1;36m32.0\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mwhite, red \u001b[0m │ \u001b[32mred \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mDroid \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mBiggs Darklighter \u001b[0m │ \u001b[1;36m183\u001b[0m │ \u001b[1;36m84.0\u001b[0m │ \u001b[32mblack \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36m24.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[32mObi-Wan Kenobi \u001b[0m │ \u001b[1;36m182\u001b[0m │ \u001b[1;36m77.0\u001b[0m │ \u001b[32mauburn, white\u001b[0m │ \u001b[32mfair \u001b[0m │ \u001b[32mblue-gray\u001b[0m │ \u001b[1;36m57.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mStewjon \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │\n", + "└────────────────────┴────────┴─────────┴───────────────┴─────────────┴───────────┴────────────┴────────┴───────────┴────────────┴─────────┴────────┴──────────┴───────────┘" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "starwars.relabel({\"homeworld\": \"home_world\"})" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### mutate()" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓\n",
+       "┃ height_m  height  name                mass     hair_color     skin_color   eye_color  birth_year  sex     gender     homeworld  species  films   vehicles  starships ┃\n",
+       "┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩\n",
+       "│ float64int64stringfloat64stringstringstringfloat64stringstringstringstringstringstringstring    │\n",
+       "├──────────┼────────┼────────────────────┼─────────┼───────────────┼─────────────┼───────────┼────────────┼────────┼───────────┼───────────┼─────────┼────────┼──────────┼───────────┤\n",
+       "│     1.72172Luke Skywalker    77.0blond        fair       blue     19.0male  masculineTatooine Human  NULLNULLNULL      │\n",
+       "│     1.67167C-3PO             75.0NULLgold       yellow   112.0none  masculineTatooine Droid  NULLNULLNULL      │\n",
+       "│     0.9696R2-D2             32.0NULLwhite, bluered      33.0none  masculineNaboo    Droid  NULLNULLNULL      │\n",
+       "│     2.02202Darth Vader       136.0none         white      yellow   41.9male  masculineTatooine Human  NULLNULLNULL      │\n",
+       "│     1.50150Leia Organa       49.0brown        light      brown    19.0femalefeminine Alderaan Human  NULLNULLNULL      │\n",
+       "│     1.78178Owen Lars         120.0brown, grey  light      blue     52.0male  masculineTatooine Human  NULLNULLNULL      │\n",
+       "│     1.65165Beru Whitesun lars75.0brown        light      blue     47.0femalefeminine Tatooine Human  NULLNULLNULL      │\n",
+       "│     0.9797R5-D4             32.0NULLwhite, red red      nannone  masculineTatooine Droid  NULLNULLNULL      │\n",
+       "│     1.83183Biggs Darklighter 84.0black        light      brown    24.0male  masculineTatooine Human  NULLNULLNULL      │\n",
+       "│     1.82182Obi-Wan Kenobi    77.0auburn, whitefair       blue-gray57.0male  masculineStewjon  Human  NULLNULLNULL      │\n",
+       "│                 │\n",
+       "└──────────┴────────┴────────────────────┴─────────┴───────────────┴─────────────┴───────────┴────────────┴────────┴───────────┴───────────┴─────────┴────────┴──────────┴───────────┘\n",
+       "
\n" + ], + "text/plain": [ + "┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mheight_m\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mheight\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mname\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mmass\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mhair_color\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mskin_color\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1meye_color\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mbirth_year\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1msex\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mgender\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mhomeworld\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mspecies\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mfilms\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mvehicles\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mstarships\u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩\n", + "│ \u001b[2mfloat64\u001b[0m │ \u001b[2mint64\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mfloat64\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mfloat64\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │\n", + "├──────────┼────────┼────────────────────┼─────────┼───────────────┼─────────────┼───────────┼────────────┼────────┼───────────┼───────────┼─────────┼────────┼──────────┼───────────┤\n", + "│ \u001b[1;36m1.72\u001b[0m │ \u001b[1;36m172\u001b[0m │ \u001b[32mLuke Skywalker \u001b[0m │ \u001b[1;36m77.0\u001b[0m │ \u001b[32mblond \u001b[0m │ \u001b[32mfair \u001b[0m │ \u001b[32mblue \u001b[0m │ \u001b[1;36m19.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[1;36m1.67\u001b[0m │ \u001b[1;36m167\u001b[0m │ \u001b[32mC-3PO \u001b[0m │ \u001b[1;36m75.0\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mgold \u001b[0m │ \u001b[32myellow \u001b[0m │ \u001b[1;36m112.0\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mDroid \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[1;36m0.96\u001b[0m │ \u001b[1;36m96\u001b[0m │ \u001b[32mR2-D2 \u001b[0m │ \u001b[1;36m32.0\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mwhite, blue\u001b[0m │ \u001b[32mred \u001b[0m │ \u001b[1;36m33.0\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mNaboo \u001b[0m │ \u001b[32mDroid \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[1;36m2.02\u001b[0m │ \u001b[1;36m202\u001b[0m │ \u001b[32mDarth Vader \u001b[0m │ \u001b[1;36m136.0\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mwhite \u001b[0m │ \u001b[32myellow \u001b[0m │ \u001b[1;36m41.9\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[1;36m1.50\u001b[0m │ \u001b[1;36m150\u001b[0m │ \u001b[32mLeia Organa \u001b[0m │ \u001b[1;36m49.0\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36m19.0\u001b[0m │ \u001b[32mfemale\u001b[0m │ \u001b[32mfeminine \u001b[0m │ \u001b[32mAlderaan \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[1;36m1.78\u001b[0m │ \u001b[1;36m178\u001b[0m │ \u001b[32mOwen Lars \u001b[0m │ \u001b[1;36m120.0\u001b[0m │ \u001b[32mbrown, grey \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mblue \u001b[0m │ \u001b[1;36m52.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[1;36m1.65\u001b[0m │ \u001b[1;36m165\u001b[0m │ \u001b[32mBeru Whitesun lars\u001b[0m │ \u001b[1;36m75.0\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mblue \u001b[0m │ \u001b[1;36m47.0\u001b[0m │ \u001b[32mfemale\u001b[0m │ \u001b[32mfeminine \u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[1;36m0.97\u001b[0m │ \u001b[1;36m97\u001b[0m │ \u001b[32mR5-D4 \u001b[0m │ \u001b[1;36m32.0\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mwhite, red \u001b[0m │ \u001b[32mred \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mDroid \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[1;36m1.83\u001b[0m │ \u001b[1;36m183\u001b[0m │ \u001b[32mBiggs Darklighter \u001b[0m │ \u001b[1;36m84.0\u001b[0m │ \u001b[32mblack \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36m24.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[1;36m1.82\u001b[0m │ \u001b[1;36m182\u001b[0m │ \u001b[32mObi-Wan Kenobi \u001b[0m │ \u001b[1;36m77.0\u001b[0m │ \u001b[32mauburn, white\u001b[0m │ \u001b[32mfair \u001b[0m │ \u001b[32mblue-gray\u001b[0m │ \u001b[1;36m57.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mStewjon \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │\n", + "│ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │\n", + "└──────────┴────────┴────────────────────┴─────────┴───────────────┴─────────────┴───────────┴────────────┴────────┴───────────┴───────────┴─────────┴────────┴──────────┴───────────┘" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "starwars.mutate(height_m = _.height / 100).select(\"height_m\", \"height\", ~s.contains(\"height\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┓\n",
+       "┃ BMI        name                height  mass     hair_color     skin_color   eye_color  birth_year  sex     gender     homeworld  species  films   vehicles  starships  height_m ┃\n",
+       "┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━┩\n",
+       "│ float64stringint64float64stringstringstringfloat64stringstringstringstringstringstringstringfloat64  │\n",
+       "├───────────┼────────────────────┼────────┼─────────┼───────────────┼─────────────┼───────────┼────────────┼────────┼───────────┼───────────┼─────────┼────────┼──────────┼───────────┼──────────┤\n",
+       "│ 26.027582Luke Skywalker    17277.0blond        fair       blue     19.0male  masculineTatooine Human  NULLNULLNULL1.72 │\n",
+       "│ 26.892323C-3PO             16775.0NULLgold       yellow   112.0none  masculineTatooine Droid  NULLNULLNULL1.67 │\n",
+       "│ 34.722222R2-D2             9632.0NULLwhite, bluered      33.0none  masculineNaboo    Droid  NULLNULLNULL0.96 │\n",
+       "│ 33.330066Darth Vader       202136.0none         white      yellow   41.9male  masculineTatooine Human  NULLNULLNULL2.02 │\n",
+       "│ 21.777778Leia Organa       15049.0brown        light      brown    19.0femalefeminine Alderaan Human  NULLNULLNULL1.50 │\n",
+       "│ 37.874006Owen Lars         178120.0brown, grey  light      blue     52.0male  masculineTatooine Human  NULLNULLNULL1.78 │\n",
+       "│ 27.548209Beru Whitesun lars16575.0brown        light      blue     47.0femalefeminine Tatooine Human  NULLNULLNULL1.65 │\n",
+       "│ 34.009990R5-D4             9732.0NULLwhite, red red      nannone  masculineTatooine Droid  NULLNULLNULL0.97 │\n",
+       "│ 25.082863Biggs Darklighter 18384.0black        light      brown    24.0male  masculineTatooine Human  NULLNULLNULL1.83 │\n",
+       "│ 23.245985Obi-Wan Kenobi    18277.0auburn, whitefair       blue-gray57.0male  masculineStewjon  Human  NULLNULLNULL1.82 │\n",
+       "│          │\n",
+       "└───────────┴────────────────────┴────────┴─────────┴───────────────┴─────────────┴───────────┴────────────┴────────┴───────────┴───────────┴─────────┴────────┴──────────┴───────────┴──────────┘\n",
+       "
\n" + ], + "text/plain": [ + "┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mBMI\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mname\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mheight\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mmass\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mhair_color\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mskin_color\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1meye_color\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mbirth_year\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1msex\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mgender\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mhomeworld\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mspecies\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mfilms\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mvehicles\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mstarships\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mheight_m\u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━┩\n", + "│ \u001b[2mfloat64\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mint64\u001b[0m │ \u001b[2mfloat64\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mfloat64\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mstring\u001b[0m │ \u001b[2mfloat64\u001b[0m │\n", + "├───────────┼────────────────────┼────────┼─────────┼───────────────┼─────────────┼───────────┼────────────┼────────┼───────────┼───────────┼─────────┼────────┼──────────┼───────────┼──────────┤\n", + "│ \u001b[1;36m26.027582\u001b[0m │ \u001b[32mLuke Skywalker \u001b[0m │ \u001b[1;36m172\u001b[0m │ \u001b[1;36m77.0\u001b[0m │ \u001b[32mblond \u001b[0m │ \u001b[32mfair \u001b[0m │ \u001b[32mblue \u001b[0m │ \u001b[1;36m19.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36m1.72\u001b[0m │\n", + "│ \u001b[1;36m26.892323\u001b[0m │ \u001b[32mC-3PO \u001b[0m │ \u001b[1;36m167\u001b[0m │ \u001b[1;36m75.0\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mgold \u001b[0m │ \u001b[32myellow \u001b[0m │ \u001b[1;36m112.0\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mDroid \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36m1.67\u001b[0m │\n", + "│ \u001b[1;36m34.722222\u001b[0m │ \u001b[32mR2-D2 \u001b[0m │ \u001b[1;36m96\u001b[0m │ \u001b[1;36m32.0\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mwhite, blue\u001b[0m │ \u001b[32mred \u001b[0m │ \u001b[1;36m33.0\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mNaboo \u001b[0m │ \u001b[32mDroid \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36m0.96\u001b[0m │\n", + "│ \u001b[1;36m33.330066\u001b[0m │ \u001b[32mDarth Vader \u001b[0m │ \u001b[1;36m202\u001b[0m │ \u001b[1;36m136.0\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mwhite \u001b[0m │ \u001b[32myellow \u001b[0m │ \u001b[1;36m41.9\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36m2.02\u001b[0m │\n", + "│ \u001b[1;36m21.777778\u001b[0m │ \u001b[32mLeia Organa \u001b[0m │ \u001b[1;36m150\u001b[0m │ \u001b[1;36m49.0\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36m19.0\u001b[0m │ \u001b[32mfemale\u001b[0m │ \u001b[32mfeminine \u001b[0m │ \u001b[32mAlderaan \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36m1.50\u001b[0m │\n", + "│ \u001b[1;36m37.874006\u001b[0m │ \u001b[32mOwen Lars \u001b[0m │ \u001b[1;36m178\u001b[0m │ \u001b[1;36m120.0\u001b[0m │ \u001b[32mbrown, grey \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mblue \u001b[0m │ \u001b[1;36m52.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36m1.78\u001b[0m │\n", + "│ \u001b[1;36m27.548209\u001b[0m │ \u001b[32mBeru Whitesun lars\u001b[0m │ \u001b[1;36m165\u001b[0m │ \u001b[1;36m75.0\u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mblue \u001b[0m │ \u001b[1;36m47.0\u001b[0m │ \u001b[32mfemale\u001b[0m │ \u001b[32mfeminine \u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36m1.65\u001b[0m │\n", + "│ \u001b[1;36m34.009990\u001b[0m │ \u001b[32mR5-D4 \u001b[0m │ \u001b[1;36m97\u001b[0m │ \u001b[1;36m32.0\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[32mwhite, red \u001b[0m │ \u001b[32mred \u001b[0m │ \u001b[1;36mnan\u001b[0m │ \u001b[32mnone \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mDroid \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36m0.97\u001b[0m │\n", + "│ \u001b[1;36m25.082863\u001b[0m │ \u001b[32mBiggs Darklighter \u001b[0m │ \u001b[1;36m183\u001b[0m │ \u001b[1;36m84.0\u001b[0m │ \u001b[32mblack \u001b[0m │ \u001b[32mlight \u001b[0m │ \u001b[32mbrown \u001b[0m │ \u001b[1;36m24.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mTatooine \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36m1.83\u001b[0m │\n", + "│ \u001b[1;36m23.245985\u001b[0m │ \u001b[32mObi-Wan Kenobi \u001b[0m │ \u001b[1;36m182\u001b[0m │ \u001b[1;36m77.0\u001b[0m │ \u001b[32mauburn, white\u001b[0m │ \u001b[32mfair \u001b[0m │ \u001b[32mblue-gray\u001b[0m │ \u001b[1;36m57.0\u001b[0m │ \u001b[32mmale \u001b[0m │ \u001b[32mmasculine\u001b[0m │ \u001b[32mStewjon \u001b[0m │ \u001b[32mHuman \u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[2mNULL\u001b[0m │ \u001b[1;36m1.82\u001b[0m │\n", + "│ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │ \u001b[2m…\u001b[0m │\n", + "└───────────┴────────────────────┴────────┴─────────┴───────────────┴─────────────┴───────────┴────────────┴────────┴───────────┴───────────┴─────────┴────────┴──────────┴───────────┴──────────┘" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(starwars\n", + " .mutate(\n", + " height_m = _.height / 100\n", + " )\n", + " .mutate( \n", + " BMI = _.mass / (_.height_m**2)\n", + " )\n", + " .select(\"BMI\", ~s.matches(\"BMI\"))\n", + ")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### summarize() / summarise()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
┏━━━━━━━━━━━━┓\n",
+       "┃ height     ┃\n",
+       "┡━━━━━━━━━━━━┩\n",
+       "│ float64    │\n",
+       "├────────────┤\n",
+       "│ 174.358025 │\n",
+       "└────────────┘\n",
+       "
\n" + ], + "text/plain": [ + "┏━━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mheight\u001b[0m\u001b[1m \u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━┩\n", + "│ \u001b[2mfloat64\u001b[0m │\n", + "├────────────┤\n", + "│ \u001b[1;36m174.358025\u001b[0m │\n", + "└────────────┘" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "starwars.aggregate(height = _.height.mean())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "ibis-dev", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.3" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +}