Skip to content

Instantly share code, notes, and snippets.

@pybokeh
Last active December 11, 2023 03:23
Show Gist options
  • Save pybokeh/3c4ddaeec4c98d3f8454a9a8ed0b0b5d to your computer and use it in GitHub Desktop.
Save pybokeh/3c4ddaeec4c98d3f8454a9a8ed0b0b5d to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "adb05f7f-b0fc-420d-a7d0-0045cbfe2be8",
"metadata": {},
"outputs": [],
"source": [
"import ibis\n",
"import ibis.selectors as s\n",
"import io\n",
"import pandas as pd\n",
"from ibis import _\n",
"ibis.options.interactive = True\n",
"pd.options.display.max_rows=1000\n",
"\n",
"# create a DuckDB client\n",
"client = ibis.duckdb.connect()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "228abfe9-bd27-4b40-979d-fd039ef0ebac",
"metadata": {},
"outputs": [],
"source": [
"data = \"\"\"\n",
"yr_month,part1,part2\n",
"2019-03,nan,1\n",
"2019-04,1,nan\n",
"2019-05,nan,nan\n",
"2019-06,2,nan\n",
"2019-07,nan,2\n",
"2019-08,nan,nan\n",
"2019-09,4,nan\n",
"2019-10,8,3\n",
"2019-11,9,nan\n",
"2019-12,10,5\n",
"2020-01,13,nan\n",
"2020-02,14,14\n",
"2020-03,15,15\n",
"2020-04,nan,17\n",
"2020-05,16,18\n",
"\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "1550f6d8-ba96-4b09-b21e-88293f726e6a",
"metadata": {},
"outputs": [],
"source": [
"pdf = pd.read_csv(io.StringIO(data))"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "f44eb6e7-cacf-4c8a-9398-b4fb7f9c278a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>yr_month</th>\n",
" <th>part1</th>\n",
" <th>part2</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2019-03</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2019-04</td>\n",
" <td>1.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2019-05</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2019-06</td>\n",
" <td>2.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2019-07</td>\n",
" <td>NaN</td>\n",
" <td>2.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2019-08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2019-09</td>\n",
" <td>4.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>2019-10</td>\n",
" <td>8.0</td>\n",
" <td>3.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>2019-11</td>\n",
" <td>9.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>2019-12</td>\n",
" <td>10.0</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>2020-01</td>\n",
" <td>13.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>2020-02</td>\n",
" <td>14.0</td>\n",
" <td>14.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>2020-03</td>\n",
" <td>15.0</td>\n",
" <td>15.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>2020-04</td>\n",
" <td>NaN</td>\n",
" <td>17.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>2020-05</td>\n",
" <td>16.0</td>\n",
" <td>18.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" yr_month part1 part2\n",
"0 2019-03 NaN 1.0\n",
"1 2019-04 1.0 NaN\n",
"2 2019-05 NaN NaN\n",
"3 2019-06 2.0 NaN\n",
"4 2019-07 NaN 2.0\n",
"5 2019-08 NaN NaN\n",
"6 2019-09 4.0 NaN\n",
"7 2019-10 8.0 3.0\n",
"8 2019-11 9.0 NaN\n",
"9 2019-12 10.0 5.0\n",
"10 2020-01 13.0 NaN\n",
"11 2020-02 14.0 14.0\n",
"12 2020-03 15.0 15.0\n",
"13 2020-04 NaN 17.0\n",
"14 2020-05 16.0 18.0"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pdf"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "6af32b55-f20c-4414-b6c2-343b74f8849e",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>yr_month</th>\n",
" <th>part1</th>\n",
" <th>part2</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2019-03</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2019-04</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2019-05</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2019-06</td>\n",
" <td>2.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2019-07</td>\n",
" <td>2.0</td>\n",
" <td>2.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2019-08</td>\n",
" <td>2.0</td>\n",
" <td>2.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2019-09</td>\n",
" <td>4.0</td>\n",
" <td>2.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>2019-10</td>\n",
" <td>8.0</td>\n",
" <td>3.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>2019-11</td>\n",
" <td>9.0</td>\n",
" <td>3.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>2019-12</td>\n",
" <td>10.0</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>2020-01</td>\n",
" <td>13.0</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>2020-02</td>\n",
" <td>14.0</td>\n",
" <td>14.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>2020-03</td>\n",
" <td>15.0</td>\n",
" <td>15.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>2020-04</td>\n",
" <td>15.0</td>\n",
" <td>17.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>2020-05</td>\n",
" <td>16.0</td>\n",
" <td>18.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" yr_month part1 part2\n",
"0 2019-03 NaN 1.0\n",
"1 2019-04 1.0 1.0\n",
"2 2019-05 1.0 1.0\n",
"3 2019-06 2.0 1.0\n",
"4 2019-07 2.0 2.0\n",
"5 2019-08 2.0 2.0\n",
"6 2019-09 4.0 2.0\n",
"7 2019-10 8.0 3.0\n",
"8 2019-11 9.0 3.0\n",
"9 2019-12 10.0 5.0\n",
"10 2020-01 13.0 5.0\n",
"11 2020-02 14.0 14.0\n",
"12 2020-03 15.0 15.0\n",
"13 2020-04 15.0 17.0\n",
"14 2020-05 16.0 18.0"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pdf.ffill()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Py3.11 (sql_dev)",
"language": "python",
"name": "sql_dev"
},
"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.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment