{ "cells": [ { "cell_type": "markdown", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "# Filling\n", "## Fill forward" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "import pandas as pd\n", "import tstoolbox.tstoolbox as ts" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "dr = pd.date_range(periods=16, start=\"2010-01-01\", freq=\"H\")\n", "df = pd.DataFrame([1.1, 2.3, 2.1] + 10 * [None] + [5.4, 6.5, 7.2], dr)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
0
2010-01-01 00:00:001.1
2010-01-01 01:00:002.3
2010-01-01 02:00:002.1
2010-01-01 03:00:00NaN
2010-01-01 04:00:00NaN
2010-01-01 05:00:00NaN
2010-01-01 06:00:00NaN
2010-01-01 07:00:00NaN
2010-01-01 08:00:00NaN
2010-01-01 09:00:00NaN
2010-01-01 10:00:00NaN
2010-01-01 11:00:00NaN
2010-01-01 12:00:00NaN
2010-01-01 13:00:005.4
2010-01-01 14:00:006.5
2010-01-01 15:00:007.2
\n", "
" ], "text/plain": [ " 0\n", "2010-01-01 00:00:00 1.1\n", "2010-01-01 01:00:00 2.3\n", "2010-01-01 02:00:00 2.1\n", "2010-01-01 03:00:00 NaN\n", "2010-01-01 04:00:00 NaN\n", "2010-01-01 05:00:00 NaN\n", "2010-01-01 06:00:00 NaN\n", "2010-01-01 07:00:00 NaN\n", "2010-01-01 08:00:00 NaN\n", "2010-01-01 09:00:00 NaN\n", "2010-01-01 10:00:00 NaN\n", "2010-01-01 11:00:00 NaN\n", "2010-01-01 12:00:00 NaN\n", "2010-01-01 13:00:00 5.4\n", "2010-01-01 14:00:00 6.5\n", "2010-01-01 15:00:00 7.2" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "ts.plot(input_ts=df, ofilename=\"base.png\", style=\"r-*\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](base.png)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
0_fill
Datetime
2010-01-01 00:00:001.1
2010-01-01 01:00:002.3
2010-01-01 02:00:002.1
2010-01-01 03:00:002.1
2010-01-01 04:00:002.1
2010-01-01 05:00:002.1
2010-01-01 06:00:002.1
2010-01-01 07:00:002.1
2010-01-01 08:00:002.1
2010-01-01 09:00:002.1
2010-01-01 10:00:002.1
2010-01-01 11:00:002.1
2010-01-01 12:00:002.1
2010-01-01 13:00:005.4
2010-01-01 14:00:006.5
2010-01-01 15:00:007.2
\n", "
" ], "text/plain": [ " 0_fill\n", "Datetime \n", "2010-01-01 00:00:00 1.1\n", "2010-01-01 01:00:00 2.3\n", "2010-01-01 02:00:00 2.1\n", "2010-01-01 03:00:00 2.1\n", "2010-01-01 04:00:00 2.1\n", "2010-01-01 05:00:00 2.1\n", "2010-01-01 06:00:00 2.1\n", "2010-01-01 07:00:00 2.1\n", "2010-01-01 08:00:00 2.1\n", "2010-01-01 09:00:00 2.1\n", "2010-01-01 10:00:00 2.1\n", "2010-01-01 11:00:00 2.1\n", "2010-01-01 12:00:00 2.1\n", "2010-01-01 13:00:00 5.4\n", "2010-01-01 14:00:00 6.5\n", "2010-01-01 15:00:00 7.2" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ndf = ts.fill(input_ts=df)\n", "ndf" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ts.plot(input_ts=ndf, ofilename=\"ffill.png\", style=\"r-*\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](ffill.png)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "ndf = ts.fill(input_ts=df, method=\"bfill\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ts.plot(input_ts=ndf, ofilename=\"bfill.png\", style=\"r-*\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](bfill.png)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [] } ], "metadata": { "jupytext": { "formats": "ipynb,py:percent" }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.7" } }, "nbformat": 4, "nbformat_minor": 4 }