pandas interpolate only when values exist on both sides
pandas, python
Solution
I do this - skipping the heading and tailing NAs:
s.iloc[s.first_valid_index():s.last_valid_index()+1].interpolate()
Problem
consider `pd.Series` `s` ``` import pandas as pd import numpy as np s = pd.Series([np.nan, 1, np.nan, 3, np.nan]) ``` How do I interpolate to get: ``` pd.Series([np.nan, 1, 2, 3, np.nan]) 0 NaN 1 1.0 2 2.0 3 3.0 4 NaN dtype: float64 ``` note: I want the first and last `np.nan` to remain I only want to fill in values when I have values on both sides to do the the interpolation. In other words, I want to interpolate, not extrapolate.