{ "cells": [ { "cell_type": "markdown", "id": "436d5ccf", "metadata": {}, "source": [ "# Merging, Splicing and Blending Time Series\n", "This tutorial demonstrates the usage and difference between `ts_merge` and `ts_splice`, two methods for folding together time series into a combined data structure.\n", "\n", "- **`ts_merge`** blends multiple time series together based on priority, optionally filling missing values in higher priority series with entries from lower priority. It potentially uses all the input series at all timestamps. See the [`strict_priority`](#ts_merge-strict-priority-option) option below for advanced control over nan-filling between priorities.\n", "- **`ts_splice`** stitches together time series in sequential time **blocks** without mixing values.\n", "\n", "We will describe the effect on regularly sampled series (which have the `freq` attribute) and on irregular. We will also explore the **`names`** argument, which controls how columns are selected or renamed in the merging/splicing process. There is a file-level command line tools for this as well in the `dms_datastore` package.\n", "\n", "## Prioritized filling on regular series\n", "Let's begin by showing how `ts_merge` and `ts_splice` fold together two regular series but gappy \n", "series on a prioritized basis.\n", "\n", "Here are the sample series:" ] }, { "cell_type": "code", "execution_count": 23, "id": "e52fb077", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Series 1 (Primary):\n" ] }, { "data": { "text/plain": [ "2023-01-01 1.0\n", "2023-01-02 NaN\n", "2023-01-03 3.0\n", "2023-01-04 NaN\n", "2023-01-05 5.0\n", "2023-01-06 6.0\n", "2023-01-07 NaN\n", "2023-01-08 8.0\n", "2023-01-09 9.0\n", "2023-01-10 10.0\n", "Freq: D, Name: A, dtype: float64" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Series 2 (Secondary - Fills Gaps):\n" ] }, { "data": { "text/plain": [ "2023-01-01 NaN\n", "2023-01-02 2.0\n", "2023-01-03 NaN\n", "2023-01-04 4.0\n", "2023-01-05 NaN\n", "2023-01-06 NaN\n", "2023-01-07 7.0\n", "2023-01-08 NaN\n", "2023-01-09 NaN\n", "2023-01-10 NaN\n", "2023-01-11 3.0\n", "2023-01-12 4.0\n", "Freq: D, Name: A, dtype: float64" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Series 3 (Tertiary - Fills Gaps):\n" ] }, { "data": { "text/plain": [ "2022-12-31 1000.0\n", "2023-01-01 1001.0\n", "2023-01-02 1002.0\n", "2023-01-03 NaN\n", "2023-01-04 1004.0\n", "2023-01-05 NaN\n", "2023-01-06 NaN\n", "2023-01-07 1007.0\n", "2023-01-08 NaN\n", "2023-01-09 NaN\n", "2023-01-10 NaN\n", "2023-01-11 1005.0\n", "2023-01-12 1006.0\n", "2023-01-13 1007.0\n", "Freq: D, Name: A, dtype: float64" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pandas as pd\n", "import numpy as np\n", "from vtools import ts_merge, ts_splice\n", "# ========================================\n", "# Creating Regular Time Series (1D Frequency with Missing Data)\n", "# ========================================\n", "idx1 = pd.date_range(\"2023-01-01\", periods=10, freq=\"1D\")\n", "idx2 = pd.date_range(\"2023-01-01\", periods=12, freq=\"1D\")\n", "idx3 = pd.date_range(\"2022-12-31\", periods=14, freq=\"1D\")\n", "\n", "series1 = pd.Series([1, np.nan, 3, np.nan, 5, 6, np.nan, 8, 9, 10], index=idx1, name=\"A\")\n", "series2 = pd.Series([np.nan, 2, np.nan, 4, np.nan, np.nan, 7, np.nan, np.nan, np.nan,3.,4.], index=idx2, name=\"A\")\n", "series3 = pd.Series([1000.,1001., 1002., np.nan, 1004., np.nan, np.nan, 1007., np.nan, np.nan, np.nan,1005.,1006.,1007.], index=idx3, name=\"A\")\n", "\n", "print(\"Series 1 (Primary):\")\n", "display(series1)\n", "\n", "print(\"\\nSeries 2 (Secondary - Fills Gaps):\")\n", "display(series2)\n", "\n", "print(\"\\nSeries 3 (Tertiary - Fills Gaps):\")\n", "display(series3)\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "id": "b2175099", "metadata": {}, "source": [ "And here is what it looks like spliced instead of merged." ] }, { "cell_type": "code", "execution_count": 24, "id": "5dd08914", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Merged Series with Prioritization:\n" ] }, { "data": { "text/plain": [ "2022-12-31 1000.0\n", "2023-01-01 1.0\n", "2023-01-02 2.0\n", "2023-01-03 3.0\n", "2023-01-04 4.0\n", "2023-01-05 5.0\n", "2023-01-06 6.0\n", "2023-01-07 7.0\n", "2023-01-08 8.0\n", "2023-01-09 9.0\n", "2023-01-10 10.0\n", "2023-01-11 3.0\n", "2023-01-12 4.0\n", "2023-01-13 1007.0\n", "Freq: D, Name: A, dtype: float64" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# ========================================\n", "# 2️⃣ Using `ts_merge()` with Prioritization\n", "# ========================================\n", "merged_series = ts_merge((series1, series2, series3))\n", "print(\"\\nMerged Series with Prioritization:\")\n", "display(merged_series)" ] }, { "cell_type": "markdown", "id": "fab7780c", "metadata": {}, "source": [ "## Splicing\n", "Splicing marches through the prioritized list of input time series and exclusively uses values for the higher priority series one during the entire span of that series. " ] }, { "cell_type": "code", "execution_count": 25, "id": "ae88f210", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Spliced Series with Prioritization and default `prefer last`:\n" ] }, { "data": { "text/plain": [ "2022-12-31 1000.0\n", "2023-01-01 1001.0\n", "2023-01-02 1002.0\n", "2023-01-03 NaN\n", "2023-01-04 1004.0\n", "2023-01-05 NaN\n", "2023-01-06 NaN\n", "2023-01-07 1007.0\n", "2023-01-08 NaN\n", "2023-01-09 NaN\n", "2023-01-10 NaN\n", "2023-01-11 1005.0\n", "2023-01-12 1006.0\n", "2023-01-13 1007.0\n", "Freq: D, Name: A, dtype: float64" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Spliced Series with Prioritization, Prefer first:\n" ] }, { "data": { "text/plain": [ "2023-01-01 1.0\n", "2023-01-02 NaN\n", "2023-01-03 3.0\n", "2023-01-04 NaN\n", "2023-01-05 5.0\n", "2023-01-06 6.0\n", "2023-01-07 NaN\n", "2023-01-08 8.0\n", "2023-01-09 9.0\n", "2023-01-10 10.0\n", "2023-01-11 3.0\n", "2023-01-12 4.0\n", "2023-01-13 1007.0\n", "Freq: D, Name: A, dtype: float64" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "spliced_series = ts_splice((series1, series2, series3))\n", "print(\"\\nSpliced Series with Prioritization and default `prefer last`:\")\n", "display(spliced_series)\n", "spliced_first = ts_splice((series1, series2, series3),transition=\"prefer_first\")\n", "print(\"\\nSpliced Series with Prioritization, Prefer first:\")\n", "display(spliced_first)" ] }, { "cell_type": "markdown", "id": "4a2478d5", "metadata": {}, "source": [ "## Irregular series\n", "\n", "Now we will look at some irregular series and see the difference in output from ts_merge (which shuffles) and ts_splice (which exclusively uses values from one series at a time based on the span of the series and its priority)" ] }, { "cell_type": "code", "execution_count": 26, "id": "9a1d0dae", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Irregular Series 1:\n" ] }, { "data": { "text/plain": [ "2023-01-01 1.0\n", "2023-01-03 NaN\n", "2023-01-07 3.0\n", "2023-01-10 4.0\n", "Name: A, dtype: float64" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Irregular Series 2:\n" ] }, { "data": { "text/plain": [ "2023-01-02 10.0\n", "2023-01-04 20.0\n", "2023-01-08 NaN\n", "2023-01-11 40.0\n", "Name: A, dtype: float64" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Merged Irregular Series (May Shuffle Timestamps):\n" ] }, { "data": { "text/plain": [ "2023-01-01 1.0\n", "2023-01-02 10.0\n", "2023-01-03 NaN\n", "2023-01-04 20.0\n", "2023-01-07 3.0\n", "2023-01-08 NaN\n", "2023-01-10 4.0\n", "2023-01-11 40.0\n", "Name: A, dtype: float64" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Spliced Irregular Series (prefer_last):\n" ] }, { "data": { "text/plain": [ "2023-01-01 1.0\n", "2023-01-02 10.0\n", "2023-01-04 20.0\n", "2023-01-08 NaN\n", "2023-01-11 40.0\n", "Name: A, dtype: float64" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "# ========================================\n", "# 3️⃣ Creating Irregular Time Series (No Freq Attribute)\n", "# ========================================\n", "idx_irreg1 = pd.to_datetime([\"2023-01-01\", \"2023-01-03\", \"2023-01-07\", \"2023-01-10\"])\n", "idx_irreg2 = pd.to_datetime([\"2023-01-02\", \"2023-01-04\", \"2023-01-08\", \"2023-01-11\"])\n", "\n", "series_irreg1 = pd.Series([1, np.nan, 3, 4], index=idx_irreg1, name=\"A\")\n", "series_irreg2 = pd.Series([10, 20, np.nan, 40], index=idx_irreg2, name=\"A\")\n", "\n", "print(\"\\nIrregular Series 1:\")\n", "display(series_irreg1)\n", "\n", "print(\"\\nIrregular Series 2:\")\n", "display(series_irreg2)\n", "\n", "# ========================================\n", "# 4️⃣ Using `ts_merge()` with Irregular Time Series\n", "# ========================================\n", "merged_irregular = ts_merge((series_irreg1, series_irreg2))\n", "print(\"\\nMerged Irregular Series (May Shuffle Timestamps):\")\n", "display(merged_irregular)\n", "\n", "# ========================================\n", "# 5️⃣ Using `ts_splice()` with Irregular Time Series\n", "# ========================================\n", "spliced_irregular = ts_splice((series_irreg1, series_irreg2), transition=\"prefer_last\")\n", "print(\"\\nSpliced Irregular Series (prefer_last):\")\n", "display(spliced_irregular)" ] }, { "cell_type": "markdown", "id": "de365104", "metadata": {}, "source": [ "## `Names` argument\n", "\n", "Finally let's look at some more intricate examples with mixed series and dataframes with differing numbers of columns and see how `names` can be used to make selections or unify poorly coordinated labels. Here are the series:" ] }, { "cell_type": "code", "execution_count": 27, "id": "35cfc422", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Series 1:\n" ] }, { "data": { "text/plain": [ "2023-01-01 1.0\n", "2023-01-03 NaN\n", "2023-01-05 3.0\n", "2023-01-07 4.0\n", "2023-01-09 5.0\n", "Freq: 2D, Name: A, dtype: float64" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Series 2:\n" ] }, { "data": { "text/plain": [ "2023-01-02 10.0\n", "2023-01-04 20.0\n", "2023-01-06 30.0\n", "2023-01-08 NaN\n", "2023-01-10 50.0\n", "Freq: 2D, Name: B, dtype: float64" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "DataFrame 1:\n" ] }, { "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", "
AB
2023-01-011.010
2023-01-03NaN20
2023-01-053.030
2023-01-074.040
2023-01-095.050
\n", "
" ], "text/plain": [ " A B\n", "2023-01-01 1.0 10\n", "2023-01-03 NaN 20\n", "2023-01-05 3.0 30\n", "2023-01-07 4.0 40\n", "2023-01-09 5.0 50" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "DataFrame 2:\n" ] }, { "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", "
AB
2023-01-0210.0100.0
2023-01-0420.0200.0
2023-01-06NaNNaN
2023-01-0840.0400.0
2023-01-1050.0500.0
\n", "
" ], "text/plain": [ " A B\n", "2023-01-02 10.0 100.0\n", "2023-01-04 20.0 200.0\n", "2023-01-06 NaN NaN\n", "2023-01-08 40.0 400.0\n", "2023-01-10 50.0 500.0" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "DataFrame 3:\n" ] }, { "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", "
ABC
2023-01-02310.0100.03100.0
2023-01-04320.0200.03200.0
2023-01-06NaNNaNNaN
2023-01-08340.0400.03400.0
2023-01-10NaN500.03500.0
\n", "
" ], "text/plain": [ " A B C\n", "2023-01-02 310.0 100.0 3100.0\n", "2023-01-04 320.0 200.0 3200.0\n", "2023-01-06 NaN NaN NaN\n", "2023-01-08 340.0 400.0 3400.0\n", "2023-01-10 NaN 500.0 3500.0" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pandas as pd\n", "import numpy as np\n", "from vtools import ts_merge, ts_splice # Assuming these functions are in merge.py\n", "\n", "# Create irregular time series\n", "idx1 = pd.date_range(\"2023-01-01\", periods=5, freq=\"2D\")\n", "idx2 = pd.date_range(\"2023-01-02\", periods=5, freq=\"2D\")\n", "\n", "series1 = pd.Series([1, np.nan, 3, 4, 5], index=idx1, name=\"A\")\n", "series2 = pd.Series([10, 20, 30, np.nan, 50], index=idx2, name=\"B\")\n", "\n", "df1 = pd.DataFrame({\"A\": [1, np.nan, 3, 4, 5], \"B\": [10, 20, 30, 40, 50]}, index=idx1)\n", "df2 = pd.DataFrame({\"A\": [10, 20, np.nan, 40, 50], \"B\": [100, 200, np.nan, 400, 500]}, index=idx2)\n", "df3 = pd.DataFrame({\"A\": [310, 320, np.nan, 340, np.nan], \n", " \"B\": [100, 200, np.nan, 400, 500],\n", " \"C\": [3100, 3200, np.nan, 3400, 3500]\n", " }, index=idx2)\n", "\n", "# Display Data\n", "print(\"Series 1:\")\n", "display(series1)\n", "\n", "print(\"Series 2:\")\n", "display(series2)\n", "\n", "print(\"DataFrame 1:\")\n", "display(df1)\n", "\n", "print(\"DataFrame 2:\")\n", "display(df2)\n", "\n", "print(\"DataFrame 3:\")\n", "display(df3)\n" ] }, { "cell_type": "markdown", "id": "219a7aa6", "metadata": {}, "source": [ "Here are some example usage:" ] }, { "cell_type": "code", "execution_count": 28, "id": "c6949e66", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Original univariate series\n", "2023-01-01 1.0\n", "2023-01-03 NaN\n", "2023-01-05 3.0\n", "2023-01-07 4.0\n", "2023-01-09 5.0\n", "Freq: 2D, Name: A, dtype: float64\n", "2023-01-02 10.0\n", "2023-01-04 20.0\n", "2023-01-06 30.0\n", "2023-01-08 NaN\n", "2023-01-10 50.0\n", "Freq: 2D, Name: B, dtype: float64\n", "Merged univariate series renamed:\n" ] }, { "data": { "text/plain": [ "2023-01-01 1.0\n", "2023-01-02 10.0\n", "2023-01-03 NaN\n", "2023-01-04 20.0\n", "2023-01-05 3.0\n", "2023-01-06 30.0\n", "2023-01-07 4.0\n", "2023-01-08 NaN\n", "2023-01-09 5.0\n", "2023-01-10 50.0\n", "Name: C, dtype: float64" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Merged DataFrame without Selected Columns (names=None) results in an error if the columns don't match\n", "Merged DataFrame without selected columns (names=None) for input DataFrames with matched columns:\n" ] }, { "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", "
AB
2023-01-011.010.0
2023-01-0210.0100.0
2023-01-03NaN20.0
2023-01-0420.0200.0
2023-01-053.030.0
2023-01-06NaNNaN
2023-01-074.040.0
2023-01-0840.0400.0
2023-01-095.050.0
2023-01-1050.0500.0
\n", "
" ], "text/plain": [ " A B\n", "2023-01-01 1.0 10.0\n", "2023-01-02 10.0 100.0\n", "2023-01-03 NaN 20.0\n", "2023-01-04 20.0 200.0\n", "2023-01-05 3.0 30.0\n", "2023-01-06 NaN NaN\n", "2023-01-07 4.0 40.0\n", "2023-01-08 40.0 400.0\n", "2023-01-09 5.0 50.0\n", "2023-01-10 50.0 500.0" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Merged DataFrame with Selected Columns A merges that column ([A,B] would have been OK too)\n" ] }, { "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", "
A
2023-01-011.0
2023-01-0210.0
2023-01-03NaN
2023-01-0420.0
2023-01-053.0
2023-01-06NaN
2023-01-074.0
2023-01-0840.0
2023-01-095.0
2023-01-1050.0
\n", "
" ], "text/plain": [ " A\n", "2023-01-01 1.0\n", "2023-01-02 10.0\n", "2023-01-03 NaN\n", "2023-01-04 20.0\n", "2023-01-05 3.0\n", "2023-01-06 NaN\n", "2023-01-07 4.0\n", "2023-01-08 40.0\n", "2023-01-09 5.0\n", "2023-01-10 50.0" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Spliced Series with Renamed Column:\n" ] }, { "data": { "text/plain": [ "2023-01-01 1.0\n", "2023-01-02 10.0\n", "2023-01-04 20.0\n", "2023-01-06 30.0\n", "2023-01-08 NaN\n", "2023-01-10 50.0\n", "Name: Renamed_A, dtype: float64" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Example: Using `names` to rename output columns\n", "print(\"Original univariate series\")\n", "print(series1)\n", "print(series2)\n", "\n", "# Merging univariate with different names and using names to rename\n", "merged_series_named = ts_merge((series1, series2), names=[\"C\"])\n", "print(\"Merged univariate series renamed:\")\n", "display(merged_series_named)\n", "\n", "\n", "# Select specific columns in DataFrame\n", "try:\n", " merged_df_named = ts_merge((df1, df2, df3), names=None)\n", "except:\n", " print(\"Merged DataFrame without Selected Columns (names=None) results in an error if the columns don't match\")\n", "#display(merged_df_named)\n", "\n", "# Select specific columns in DataFrame\n", "merged_df_named = ts_merge((df1, df2), names=None)\n", "print(\"Merged DataFrame without selected columns (names=None) for input DataFrames with matched columns:\")\n", "display(merged_df_named)\n", "\n", "\n", "# Select specific columns in DataFrame\n", "merged_df_named = ts_merge((df1, df2, df3), names=[\"A\"])\n", "print(\"Merged DataFrame with Selected Columns A merges that column ([A,B] would have been OK too)\")\n", "display(merged_df_named)\n", "\n", "\n", "# Rename column in splicing\n", "spliced_series_named = ts_splice((series1, series2), names=\"Renamed_A\", transition=\"prefer_last\")\n", "print(\"Spliced Series with Renamed Column:\")\n", "display(spliced_series_named)\n" ] }, { "cell_type": "markdown", "id": "6baebda5", "metadata": {}, "source": [ "## Summary\n", "- **Use `ts_merge`** when you want to blend time series together, filling missing values in order of priority.\n", "- **Use `ts_splice`** when you want to keep each time series separate and transition from one to another based on time.\n", "- **The `names` argument** allows you to rename output columns or select specific columns when merging/splicing DataFrames.\n", "\n", "This notebook provides a clear comparison to help you decide which method best suits your use case.\n" ] }, { "cell_type": "markdown", "id": "d615df22", "metadata": {}, "source": [ "# `ts_merge`: strict priority option\n", "**New option**: `strict_priority` (default `False`) enforces that a higher‑priority series dominates between its `first_valid_index` and `last_valid_index`.\n", "\n", "**Semantics**\n", "- Per **column**, define the dominance window as `[first_valid_index, last_valid_index]`.\n", "- Within that window, lower‑priority series are **masked**, even if the higher‑priority value is `NaN`.\n", "- Outside those windows, merging is unchanged and lower priority may contribute.\n", "- With irregular inputs, timestamps that exist **only** in lower‑priority series **and** are fully masked inside a dominance window are dropped; timestamps from the top series' index are preserved even if all‑`NaN`.\n", "\n", "**`names` behavior** is unchanged.\n", "### Example 1 — Series with interior `NaN`\n", "\n", "```python\n", "import numpy as np, pandas as pd\n", "from vtools.functions.merge import ts_merge\n", "\n", "idx1 = pd.date_range(\"2023-01-01\", periods=5, freq=\"D\")\n", "idx2 = pd.date_range(\"2023-01-03\", periods=5, freq=\"D\")\n", "s1 = pd.Series([1, 2, np.nan, 4, 5], index=idx1, name=\"A\")\n", "s2 = pd.Series([10, 20, 30, np.nan, 50], index=idx2, name=\"A\")\n", "\n", "ts_merge((s1, s2)) # default\n", "ts_merge((s1, s2), strict_priority=True)\n", "```\n", "### Example 2 — Two columns, per‑column dominance\n", "\n", "```python\n", "idx1 = pd.date_range(\"2023-01-01\", periods=5, freq=\"D\")\n", "idx2 = pd.date_range(\"2023-01-03\", periods=5, freq=\"D\")\n", "df1 = pd.DataFrame({\"A\":[1., np.nan, 3., 4., 5.]}, index=idx1)\n", "df1[\"B\"] = df1[\"A\"]\n", "df1.loc[idx1[2], \"B\"] = np.nan # interior NaN in high‑priority B\n", "df2 = pd.DataFrame({\"A\":[10., 20., np.nan, 40., 50.]}, index=idx2)\n", "df2[\"B\"] = df2[\"A\"]\n", "\n", "ts_merge((df1, df2), strict_priority=True)[[\"A\",\"B\"]]\n", "```\n", "### Example 3 — Irregular inputs\n", "\n", "```python\n", "idx1 = pd.to_datetime([\"2023-01-01\",\"2023-01-03\",\"2023-01-07\",\"2023-01-10\"])\n", "idx2 = pd.to_datetime([\"2023-01-02\",\"2023-01-04\",\"2023-01-08\",\"2023-01-11\"])\n", "s1 = pd.Series([1.,2.,3.,4.], index=idx1, name=\"A\")\n", "s2 = pd.Series([10.,20.,30.,40.], index=idx2, name=\"A\")\n", "\n", "ts_merge((s1, s2), strict_priority=True)\n", "```\n" ] }, { "cell_type": "code", "execution_count": 29, "id": "d31654ba", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Example 1 strict=False:\n", "2023-01-01 1.0\n", "2023-01-02 2.0\n", "2023-01-03 10.0\n", "2023-01-04 4.0\n", "2023-01-05 5.0\n", "2023-01-06 NaN\n", "2023-01-07 50.0\n", "Freq: D, Name: A, dtype: float64\n", "Example 1 strict=True:\n", "2023-01-01 1.0\n", "2023-01-02 2.0\n", "2023-01-03 NaN\n", "2023-01-04 4.0\n", "2023-01-05 5.0\n", "2023-01-06 NaN\n", "2023-01-07 50.0\n", "Freq: D, Name: A, dtype: float64\n", "\n", "Example 2 strict=True:\n", " A B\n", "2023-01-01 1.0 1.0\n", "2023-01-02 NaN NaN\n", "2023-01-03 3.0 NaN\n", "2023-01-04 4.0 4.0\n", "2023-01-05 5.0 5.0\n", "2023-01-06 40.0 40.0\n", "2023-01-07 50.0 50.0\n", "\n", "Example 3 strict=True:\n", "2023-01-01 1.0\n", "2023-01-03 2.0\n", "2023-01-07 3.0\n", "2023-01-10 4.0\n", "2023-01-11 40.0\n", "Name: A, dtype: float64\n" ] } ], "source": [ "import numpy as np, pandas as pd\n", "from vtools.functions.merge import ts_merge\n", "\n", "# Example 1\n", "idx1 = pd.date_range(\"2023-01-01\", periods=5, freq=\"D\")\n", "idx2 = pd.date_range(\"2023-01-03\", periods=5, freq=\"D\")\n", "s1 = pd.Series([1, 2, np.nan, 4, 5], index=idx1, name=\"A\")\n", "s2 = pd.Series([10, 20, 30, np.nan, 50], index=idx2, name=\"A\")\n", "print(\"Example 1 strict=False:\")\n", "print(ts_merge((s1, s2)))\n", "print(\"Example 1 strict=True:\")\n", "print(ts_merge((s1, s2), strict_priority=True))\n", "\n", "# Example 2\n", "df1 = pd.DataFrame({\"A\":[1., np.nan, 3., 4., 5.]}, index=idx1)\n", "df1[\"B\"] = df1[\"A\"]; df1.loc[idx1[2], \"B\"] = np.nan\n", "df2 = pd.DataFrame({\"A\":[10., 20., np.nan, 40., 50.]}, index=idx2)\n", "df2[\"B\"] = df2[\"A\"]\n", "print(\"\\nExample 2 strict=True:\")\n", "print(ts_merge((df1, df2), strict_priority=True)[[\"A\",\"B\"]])\n", "\n", "# Example 3\n", "idx1i = pd.to_datetime([\"2023-01-01\",\"2023-01-03\",\"2023-01-07\",\"2023-01-10\"])\n", "idx2i = pd.to_datetime([\"2023-01-02\",\"2023-01-04\",\"2023-01-08\",\"2023-01-11\"])\n", "s1i = pd.Series([1.,2.,3.,4.], index=idx1i, name=\"A\")\n", "s2i = pd.Series([10.,20.,30.,40.], index=idx2i, name=\"A\")\n", "print(\"\\nExample 3 strict=True:\")\n", "print(ts_merge((s1i, s2i), strict_priority=True))\n" ] }, { "cell_type": "markdown", "id": "77eb1ac4", "metadata": {}, "source": [ "## Blending near gaps: `ts_blend`\n", "\n", "The functions shown above (`ts_merge` and `ts_splice`) perform *hard* selections:\n", "\n", "- **`ts_merge`** picks the first non-NaN value in priority order at each timestamp.\n", "- **`ts_splice`** constructs a piecewise record by switching sources at explicit transition times.\n", "\n", "In some workflows, however, abrupt switches in the merged product create undesirable jumps.\n", "Often the *higher-priority* series is preferred, but it may contain gaps. In those regions it is\n", "useful to **fade in** the lower-priority series near the edges of gaps rather than switching\n", "immediately.\n", "\n", "`ts_blend` implements exactly that:\n", "\n", "- Takes a list of Series/DataFrames (higher priority first).\n", "- Aligns them onto a common union index.\n", "- Inside gaps of the high-priority series: **falls back** to lower-priority data (just like `ts_merge`).\n", "- On the *shoulders* of gaps: computes the **distance to the nearest gap** in the high-priority\n", " series and applies a smooth kernel.\n", "\n", "For a gap-edge point with distance $d$ from the nearest NaN and a user-specified blending\n", "radius $L$:\n", "\n", "$$\n", "\\tilde t = \\frac{L - d}{L}, \\qquad\n", "w_{\\mathrm{lo}} = 0.5 \\tilde t, \\qquad\n", "w_{\\mathrm{hi}} = 1 - w_{\\mathrm{lo}}.\n", "$$\n", "\n", "Thus:\n", "\n", "- Points *at* the gap edge blend in up to **50%** of the lower-priority value.\n", "- Points farther than `blend_length` away use **100%** of the high-priority value.\n", "- Inside gaps, the lower-priority series is used exactly.\n", "- If the lower-priority series is also missing at some point, the output remains NaN.\n", "\n", "`blend_length` can be:\n", "\n", "- an **integer** → interpreted as a *number of samples*, or\n", "- a **timedelta-like string** (e.g. `\"2h\"`, `\"1d\"`) → interpreted as a time window\n", " (requires a regular `DatetimeIndex` with `.freq` set).\n", "\n", "Setting `blend_length=None` makes `ts_blend` behave like a standard priority merge.\n" ] }, { "cell_type": "code", "execution_count": 30, "id": "d4eca9fc", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", "
hiloblended
2023-01-011.00.50.916667
2023-01-022.01.51.833333
2023-01-03NaN2.52.500000
2023-01-044.0NaN4.000000
2023-01-055.04.54.916667
2023-01-066.05.55.833333
2023-01-07NaN6.56.500000
2023-01-088.0NaN8.000000
2023-01-099.0NaN9.000000
2023-01-1010.09.510.000000
2023-01-1111.010.511.000000
2023-01-1212.011.512.000000
\n", "
" ], "text/plain": [ " hi lo blended\n", "2023-01-01 1.0 0.5 0.916667\n", "2023-01-02 2.0 1.5 1.833333\n", "2023-01-03 NaN 2.5 2.500000\n", "2023-01-04 4.0 NaN 4.000000\n", "2023-01-05 5.0 4.5 4.916667\n", "2023-01-06 6.0 5.5 5.833333\n", "2023-01-07 NaN 6.5 6.500000\n", "2023-01-08 8.0 NaN 8.000000\n", "2023-01-09 9.0 NaN 9.000000\n", "2023-01-10 10.0 9.5 10.000000\n", "2023-01-11 11.0 10.5 11.000000\n", "2023-01-12 12.0 11.5 12.000000" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "\n", "from vtools.functions.blend import ts_blend\n", "\n", "# Example 12-point daily series\n", "idx = pd.date_range(\"2023-01-01\", periods=12, freq=\"D\")\n", "\n", "# High-priority with two gaps\n", "hi = pd.Series(\n", " [1, 2, np.nan, 4, 5, 6, np.nan, 8, 9, 10, 11, 12],\n", " index=idx,\n", " name=\"hi\",\n", ")\n", "\n", "# Low-priority with different gaps\n", "lo = pd.Series(\n", " [0.5, 1.5, 2.5, np.nan, 4.5, 5.5, 6.5, np.nan, np.nan, 9.5, 10.5, 11.5],\n", " index=idx,\n", " name=\"lo\",\n", ")\n", "\n", "blend_length = 3 # 3-sample blending shoulder\n", "\n", "out = ts_blend((hi, lo), blend_length=blend_length,names=\"blended\")\n", "\n", "# Identify shoulder points where blending had an effect\n", "shoulder_mask = (~hi.isna()) & (~lo.isna()) & (out != hi)\n", "\n", "fig, ax = plt.subplots(figsize=(10, 6))\n", "\n", "ax.plot(hi.index, hi.values, \"o-\", label=\"High priority (hi)\", linewidth=2)\n", "ax.plot(lo.index, lo.values, \"o--\", label=\"Low priority (lo)\", linewidth=2)\n", "ax.plot(out.index, out.values, \"o-\", label=\"Blended output\", linewidth=3)\n", "\n", "# Highlight blend-affected points\n", "ax.scatter(\n", " out.index[shoulder_mask],\n", " out.values[shoulder_mask],\n", " s=140,\n", " color=\"tab:red\",\n", " label=\"Blended shoulder region\",\n", " zorder=5,\n", ")\n", "\n", "ax.set_title(f\"Blending near gaps with ts_blend (blend_length={blend_length})\")\n", "ax.grid(alpha=0.3)\n", "ax.legend()\n", "fig.tight_layout()\n", "plt.show()\n", "\n", "out_df = pd.DataFrame({\"hi\": hi, \"lo\": lo, \"blended\": out})\n", "out_df\n" ] }, { "cell_type": "markdown", "id": "dafe9d6d", "metadata": {}, "source": [ "or ... using time blend: " ] }, { "cell_type": "code", "execution_count": 31, "id": "cbf75106", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAHqCAYAAAAZLi26AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAyctJREFUeJzs3XdYU9cbB/BvBnuLbBlOhnvWDVTr3nuLq8vWPVvrqtZqrbXVVtu6qlJXHT+1ah0V994KboYKCA5ANknu7480kZAQQCGAfD/Pw1Nz7rnnvvfmhPLmnnuOSBAEAURERERERERU6MTFHQARERERERHRu4pJNxEREREREVERYdJNREREREREVESYdBMREREREREVESbdREREREREREWESTcRERERERFREWHSTURERERERFREmHQTERERERERFREm3URERERERERFhEk3EZVI69atg0gkwsWLF3Vu79SpE7y8vAwbVDaq+CIiIgqlvX379mH27NmF0pYuXl5e6NSpU571IiIiIBKJsG7duiKLRZ+AgAAEBAQUSdshISEQiUQICQlRl+m77iKRCJ999tkbHSs6OhqzZ8/G1atXtbbNnj0bIpHojdotKqpr89dffxV3KAWS389hUFAQLC0t89Wml5cXgoKC3j64N/AmfaOk9aei+kzlx+zZszX+v5CUlIT58+cjICAAzs7OsLS0RM2aNbFw4UKkp6dr7JvXZ+Czzz7Tus4BAQHF1leIqHRh0k1EVALs27cPc+bMKe4w3mn16tXDmTNnUK9ePXVZUV336OhozJkzR2fSPXLkSJw5c6bQj0lUEpSk32VRUVFYunQp6tWrh99++w27d+9Gr169MHv2bHTq1AmCIBR3iERURkiLOwAiotIkLS0NpqamxR0GvQFra2s0bty4uMNAhQoVUKFCheIOg+idV7FiRURERMDCwkJd9v7778PCwgKTJ0/GqVOn0Lx582KMkIjKCt7pJqJ3Rnp6OqZPn46KFSvC2NgYbm5uGD16NBISEjTqiUQincMfcw4rVQ1dPXjwIIYPHw4HBweYm5sjIyNDa9+vv/4aUqkUjx490to2fPhw2Nvbaw1nVAkKCsLPP/+sjk31oxoyu23bNrz33nuwsbGBubk5KlWqhOHDh+fvouSwc+dO1KpVC6ampqhUqRJ++umnfO137949DBgwAI6OjjAxMYGv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HtLgwYMVGhqq7t2765ZbblFBQcFpxz1y5IhmzpypyMhIRUZGaubMmTp69KjLMffee6/S0tJks9k0bNiwNtVbV1enuXPnKiYmRqGhoZo2bZr2799/xtdG+/C3+bZv3z7Nnj1bvXr1UnBwsPr06aPHHntM9fX1bRof3uVv8+3kY4cNGyaTyaSNGze2aXx4j7/Otc8++0xjxoxRcHCwYmJidN1117VpfHiXP863HTt26JprrlFMTIwiIiI0YcIELV26tE3jw7s623x78cUXdckllygiIkImk6nFDEBW6Bz8JnS/8847uu+++/Tb3/5WGzZs0MSJE3X55ZcrLy9PklRdXa2srCz97ne/U1ZWlt5//33t2LFD06ZNO+3YN998szZu3KhFixZp0aJF2rhxo2bOnOlyjGEYuv3223XjjTe2ueb77rtPH3zwgd5++22tWLFClZWVuuqqq2S328/o2vA9f5xvOTk5cjgceuGFF7R161Y999xz+te//qXf/OY3Z/ArA2/wx/l2ogcffFDdu3dv89jwHn+da++9955mzpypWbNmadOmTfruu+908803t/ka8A5/nW9XXnmlGhsbtWTJEq1fv17Dhg3TVVddpaKiojZfB57XGedbdXW1pk6desq/i5EVOgnDT4wePdqYM2eOS9uAAQOMhx9+uNVz1qxZY0gycnNzWz0mOzvbkGRkZmY2ta1atcqQZOTk5Lgd/9hjjxlDhw49bb1Hjx41AgICjLfffrup7cCBA4bZbDYWLVp0VteG7/jjfGvJs88+a/Tq1eu048O7/Hm+LVy40BgwYICxdetWQ5KxYcOG044P7/HHudbQ0GAkJiYaL7/88mnHg2/543wrLS01JBnLli1rOqa8vNyQZHz11VenvQa8p7PNtxMtXbrUkGQcOXLknK6N9uMXK9319fVav369pkyZ4tI+ZcoUrVy5stXzysrKZDKZFBUV1eoxq1atUmRkpMaMGdPUNnbsWEVGRp5y7NNZv369GhoaXGru3r27Bg0a1DSut66Nc+Ov8621mqOjo8/6ujh3/jzfiouLdeeddyojI0MhISFnfT14hr/OtaysLB04cEBms1nDhw9Xt27ddPnll2vr1q1nfV2cO3+db127dtXAgQP1+uuvq6qqSo2NjXrhhRcUHx+vtLS0s742zk1nnG9tQVboPPwidB88eFB2u13x8fEu7fHx8a3eylNbW6uHH35YN998syIiIlodu6ioSHFxcW7tcXFx53SbUFFRkQIDA9WlS5dWa/bWtXFu/HW+nWz37t36xz/+oTlz5pz1dXHu/HW+GYah2267TXPmzNHIkSPP+lrwHH+da3v27JEk/f73v9ejjz6qTz/9VF26dNGkSZN0+PDhs742zo2/zjeTyaTFixdrw4YNCg8PV1BQkJ577jktWrTolMEN3tUZ51tbkBU6D78I3ceZTCaX7w3DcGuTnBsl3HTTTXI4HHr++eeb2ufMmaOwsLCmr9bGPdXY5+rkcX15bZwZf5xvxxUUFGjq1Km6/vrrdccdd3j8ujhz/jbf/vGPf6i8vFyPPPKIx6+Dc+Nvc83hcEiSfvvb3+rHP/6x0tLSNG/ePJlMJr377rsevzbOjL/NN8MwdNdddykuLk7Lly/XmjVrdM011+iqq65SYWGhx6+NM+MP8+1kZIXOwS9Cd0xMjCwWi9u/6JSUlLj9i1ZDQ4NuuOEG7d27V4sXL3b5l6snnnhCGzdubPqSpISEBBUXF7tds7S01G3sM5GQkKD6+nodOXKk1Zq9dW2cG3+db8cVFBRo8uTJGjdunF588cWzviY8w1/n25IlS5SZmSmbzSar1aq+fftKkkaOHKlbb731rK+Ns+evc61bt26SpNTU1KZ+m82m3r17N22gBN/z1/m2ZMkSffrpp3r77bc1YcIEjRgxQs8//7yCg4P12muvnfW1cW4643xrC7JC5+EXoTswMFBpaWlavHixS/vixYs1fvz4pu+P/yHauXOnvvrqK3Xt2tXl+Li4OPXt27fpS5LGjRunsrIyrVmzpum41atXq6yszGXsM5WWlqaAgACXmgsLC7Vly5amcb11bZwbf51vknTgwAFdcsklGjFihObNmyez2S9+RHRq/jrf/v73v2vTpk1Nf3FZuHChJOfusk8++eRZXxtnz1/n2vFX9Gzfvt3lM+zbt08pKSlnfW2cG3+db9XV1ZLk9v9Ps9ncdNcFfK8zzre2ICt0Ij7dts2L3n77bSMgIMB45ZVXjOzsbOO+++4zQkNDjX379hmG4dy9dNq0aUaPHj2MjRs3GoWFhU1fdXV1pxx76tSpxpAhQ4xVq1YZq1atMgYPHmxcddVVLsfs3LnT2LBhg/Gzn/3M6Nevn7FhwwZjw4YNpxx7zpw5Ro8ePYyvvvrKyMrKMtLT042hQ4cajY2NZ3Rt+J4/zrcDBw4Yffv2NdLT0439+/e71Iz25Y/z7WR79+5l9/IOwF/n2r333mskJiYaX3zxhZGTk2PMnj3biIuLMw4fPnwOv1o4V/4430pLS42uXbsa1113nbFx40Zj+/btxq9+9SsjICDA2Lhx4zn+iuFcdMb5VlhYaGzYsMF46aWXmnbF37Bhg3Ho0KEzujban9+EbsMwjP/7v/8zUlJSjMDAQGPEiBHGt99+29R3/C90LX0tXbr0lOMeOnTImD59uhEeHm6Eh4cb06dPd9uyf9KkSS2OvXfv3lbHrampMe655x4jOjraCA4ONq666iojLy/vjK+N9uFv823evHmt1oz252/z7WSE7o7DH+dafX298ctf/tKIi4szwsPDjcsuu8zYsmXLmf7SwAv8cb6tXbvWmDJlihEdHW2Eh4cbY8eONRYuXHimvzTwgs423x577LEWz5k3b94ZXRvtz2QYhnHm6+MAAAAAAOB0eGATAAAAAAAvIXQDAAAAAOAlhG4AAAAAALyE0A0AAAAAgJcQugEAAAAA8BJCNwAAAAAAXkLoBgAAAADASwjdAAAAAAB4CaEbAAAAAAAvIXQDAAAAAOAlhG4AAAAAALyE0A0AAAAAgJf8f7JkxAmI+l7IAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", "
hi_hourlylo_hourlyblended
2023-02-01 00:00:001.00.01.00
2023-02-01 01:00:002.01.01.75
2023-02-01 02:00:00NaN2.02.00
2023-02-01 03:00:004.03.03.75
2023-02-01 04:00:005.0NaN5.00
2023-02-01 05:00:006.05.05.75
2023-02-01 06:00:00NaN6.06.00
2023-02-01 07:00:008.07.07.75
2023-02-01 08:00:009.08.09.00
2023-02-01 09:00:0010.0NaN10.00
2023-02-01 10:00:0011.010.011.00
2023-02-01 11:00:0012.011.012.00
\n", "
" ], "text/plain": [ " hi_hourly lo_hourly blended\n", "2023-02-01 00:00:00 1.0 0.0 1.00\n", "2023-02-01 01:00:00 2.0 1.0 1.75\n", "2023-02-01 02:00:00 NaN 2.0 2.00\n", "2023-02-01 03:00:00 4.0 3.0 3.75\n", "2023-02-01 04:00:00 5.0 NaN 5.00\n", "2023-02-01 05:00:00 6.0 5.0 5.75\n", "2023-02-01 06:00:00 NaN 6.0 6.00\n", "2023-02-01 07:00:00 8.0 7.0 7.75\n", "2023-02-01 08:00:00 9.0 8.0 9.00\n", "2023-02-01 09:00:00 10.0 NaN 10.00\n", "2023-02-01 10:00:00 11.0 10.0 11.00\n", "2023-02-01 11:00:00 12.0 11.0 12.00" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Time-based example with hourly data\n", "\n", "idx_h = pd.date_range(\"2023-02-01\", periods=12, freq=\"h\")\n", "\n", "hi_h = pd.Series(\n", " [1, 2, np.nan, 4, 5, 6, np.nan, 8, 9, 10, 11, 12],\n", " index=idx_h,\n", " name=\"hi_hourly\",\n", ")\n", "lo_h = pd.Series(\n", " [0, 1, 2, 3, np.nan, 5, 6, 7, 8, np.nan, 10, 11],\n", " index=idx_h,\n", " name=\"lo_hourly\",\n", ")\n", "\n", "out_h = ts_blend((hi_h, lo_h), blend_length=\"2h\",names=\"blended\")\n", "\n", "shoulder_mask_h = (~hi_h.isna()) & (~lo_h.isna()) & (out_h != hi_h)\n", "\n", "fig, ax = plt.subplots(figsize=(10, 5))\n", "ax.plot(hi_h.index, hi_h.values, \"o-\", label=\"High priority (hi_hourly)\", linewidth=2)\n", "ax.plot(lo_h.index, lo_h.values, \"o--\", label=\"Low priority (lo_hourly)\", linewidth=2)\n", "ax.plot(out_h.index, out_h.values, \"o-\", label=\"Blended (2H window)\", linewidth=3)\n", "\n", "ax.scatter(\n", " out_h.index[shoulder_mask_h],\n", " out_h.values[shoulder_mask_h],\n", " s=140,\n", " color=\"tab:red\",\n", " zorder=5,\n", " label=\"Blended shoulder region\",\n", ")\n", "\n", "ax.set_title(\"Hourly ts_blend with time-based blend_length='2H'\")\n", "ax.grid(alpha=0.3)\n", "ax.legend()\n", "fig.tight_layout()\n", "plt.show()\n", "\n", "pd.DataFrame({\"hi_hourly\": hi_h, \"lo_hourly\": lo_h, \"blended\": out_h})\n" ] } ], "metadata": { "kernelspec": { "display_name": "schism", "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.12.0" } }, "nbformat": 4, "nbformat_minor": 5 }