In answering [this stackoverflow question](https://stackoverflow.com/questions/37981678/how-to-align-indexes-of-many-dataframes-and-fill-in-respective-missing-values-in), I found some interesting behavior when using a fill method while reindexing a dataframe.

This [old bug report](https://github.com/pydata/pandas/issues/5669) in pandas says that `df.reindex(newIndex,method='ffill')` should be equivalent to `df.reindex(newIndex).ffill()`, but that is NOT the behavior I'm witnessing

Here's a code snippet that illustrates the behavior

```
df = pd.DataFrame({'values': 2}, index=pd.DatetimeIndex(['2016-06-02', '2016-05-04', '2016-06-03']))
newIndex = pd.DatetimeIndex(['2016-05-04', '2016-06-01', '2016-06-02', '2016-06-03', '2016-06-05'])
print(df.reindex(newIndex).ffill())
print(df.reindex(newIndex, method='ffill'))

```

The first print statement works as expected. The second raises a

```
ValueError: index must be monotonic increasing or decreasing

```

What's going on here?

---

EDIT: Note that the sample `df` *intentionally* has a non-monotonic index. The question pertains to the order of operations in `df.reindex(newIndex, method='ffil')`. My expectation is as the bug-report says it should work- first reindex with the new index and then fill.

As you can see, the `newIndex.is_monotonic` is `True`, and the fill works when called separately but fails when called as a parameter to `reindex`.