QST: Pandas interpolate doesn't give monotonic results
#### Pandas interpolate doesn't give monotonic results

I have the following data and I want to apply the interpolate method using a spline to the last 4 numbers (I'm aware this is extrapolation):

```python
import numpy as np

x = [
    18.792571,
    19.170139,
    19.370556,
    19.393820,
    19.239932,
    18.908891,
    18.400699,
    17.892507,
    17.384314,
    16.876122,
    16.367930,
    15.859737,    
    np.nan,
    np.nan,
    np.nan,
    np.nan
]
```

I'm running pandas interpolate and a very weird thing is going on, as the code
```python
import pandas as pd

pd.Series(x).interpolate(
    method="spline", 
    order=1
)
```
returns 
```python
0     18.792571
1     19.170139
2     19.370556
3     19.393820
4     19.239932
5     18.908891
6     18.400699
7     17.892507
8     17.384314
9     16.876122
10    16.367930
11    15.859737
12    16.103099
13    15.790022
14    15.476945
15    15.163868
dtype: float64
```

So while the trend of the data is clearly negative since very early indices the interpolation produces a jump upwards. When running the same computation using scipy

```python
import scipy.interpolate as inp
train_x = [_ for _ in x if _ > 0]
s = inp.InterpolatedUnivariateSpline(range(len(train_x)), train_x, k=1)
ynew = s(range(len(x)))
ynew[12:]
```
I get 

```python
array([15.351544, 14.843351, 14.335158, 13.826965])
```

in this case, the interpolation doesn't have an upward change, so the results make sense to me. 

Using scipy interp1d I have the same issue:

```python
s = inp.interp1d(range(len(train_x)), train_x, kind=1, fill_value='extrapolate')
ynew = s(range(len(x)))
ynew[12:]
```

Gives

```python
array([15.351544, 14.843351, 14.335158, 13.826965])
```

My questions are, then:
* Why are the pandas and scipy results different?
* How to make pandas `interpolate` give the results that I obtain using scipy?
* Why does this upward change happen in pandas?

Thanks in advance!

----

Requirements file:

```
pandas==1.0.4
scipy==1.5.2
```
