Generally speaking, you would apply an “attenuation function” over a certain range.
For example, consider the following figure:

Here we have two original datasets. We subtract two, multiply the difference by the attenuation function shown in the third row, and then add the result back to the first curve. This will lead to the appearance of a new series, which is the source data to the left of the gray area, a mixture of two inside the gray area and data from another curve to the right of the gray area.
As an example:
import numpy as np import matplotlib.pyplot as plt
Also, if you're curious about the plot above, here's how it is generated:
fig, axes = plt.subplots(nrows=4, sharex=True) axes[0].plot(series1, color='lightblue', lw=2) axes[0].plot(series2, color='salmon', lw=1.5) axes[0].set(ylabel='Original Series') axes[1].plot(diff, color='gray') axes[1].set(ylabel='Difference') axes[2].plot(easing, color='black', lw=2) axes[2].margins(y=0.1) axes[2].set(ylabel='Easing') axes[3].plot(series1, color='lightblue', lw=2) axes[3].plot(series3, color='salmon', ls='--', lw=2, dashes=(12,20)) axes[3].set(ylabel='Modified Series') for ax in axes: ax.locator_params(axis='y', nbins=4) for ax in axes[-2:]: ax.axvspan(i0, i1, color='0.8', alpha=0.5) plt.show()