{
"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",
" 0 | \n",
"
\n",
" \n",
" \n",
" \n",
" 2010-01-01 00:00:00 | \n",
" 1.1 | \n",
"
\n",
" \n",
" 2010-01-01 01:00:00 | \n",
" 2.3 | \n",
"
\n",
" \n",
" 2010-01-01 02:00:00 | \n",
" 2.1 | \n",
"
\n",
" \n",
" 2010-01-01 03:00:00 | \n",
" NaN | \n",
"
\n",
" \n",
" 2010-01-01 04:00:00 | \n",
" NaN | \n",
"
\n",
" \n",
" 2010-01-01 05:00:00 | \n",
" NaN | \n",
"
\n",
" \n",
" 2010-01-01 06:00:00 | \n",
" NaN | \n",
"
\n",
" \n",
" 2010-01-01 07:00:00 | \n",
" NaN | \n",
"
\n",
" \n",
" 2010-01-01 08:00:00 | \n",
" NaN | \n",
"
\n",
" \n",
" 2010-01-01 09:00:00 | \n",
" NaN | \n",
"
\n",
" \n",
" 2010-01-01 10:00:00 | \n",
" NaN | \n",
"
\n",
" \n",
" 2010-01-01 11:00:00 | \n",
" NaN | \n",
"
\n",
" \n",
" 2010-01-01 12:00:00 | \n",
" NaN | \n",
"
\n",
" \n",
" 2010-01-01 13:00:00 | \n",
" 5.4 | \n",
"
\n",
" \n",
" 2010-01-01 14:00:00 | \n",
" 6.5 | \n",
"
\n",
" \n",
" 2010-01-01 15:00:00 | \n",
" 7.2 | \n",
"
\n",
" \n",
"
\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",
" 0_fill | \n",
"
\n",
" \n",
" Datetime | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 2010-01-01 00:00:00 | \n",
" 1.1 | \n",
"
\n",
" \n",
" 2010-01-01 01:00:00 | \n",
" 2.3 | \n",
"
\n",
" \n",
" 2010-01-01 02:00:00 | \n",
" 2.1 | \n",
"
\n",
" \n",
" 2010-01-01 03:00:00 | \n",
" 2.1 | \n",
"
\n",
" \n",
" 2010-01-01 04:00:00 | \n",
" 2.1 | \n",
"
\n",
" \n",
" 2010-01-01 05:00:00 | \n",
" 2.1 | \n",
"
\n",
" \n",
" 2010-01-01 06:00:00 | \n",
" 2.1 | \n",
"
\n",
" \n",
" 2010-01-01 07:00:00 | \n",
" 2.1 | \n",
"
\n",
" \n",
" 2010-01-01 08:00:00 | \n",
" 2.1 | \n",
"
\n",
" \n",
" 2010-01-01 09:00:00 | \n",
" 2.1 | \n",
"
\n",
" \n",
" 2010-01-01 10:00:00 | \n",
" 2.1 | \n",
"
\n",
" \n",
" 2010-01-01 11:00:00 | \n",
" 2.1 | \n",
"
\n",
" \n",
" 2010-01-01 12:00:00 | \n",
" 2.1 | \n",
"
\n",
" \n",
" 2010-01-01 13:00:00 | \n",
" 5.4 | \n",
"
\n",
" \n",
" 2010-01-01 14:00:00 | \n",
" 6.5 | \n",
"
\n",
" \n",
" 2010-01-01 15:00:00 | \n",
" 7.2 | \n",
"
\n",
" \n",
"
\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
}