pd.Series.replace(np.inf, value) occasionally cannot replace np.inf -- what?
#### Code Sample, a copy-pastable example if possible

```
>>> pd.Series([1, 2, 3, np.inf, 5, 6]).replace(np.inf, 4)
0    1.0
1    2.0
2    3.0
3    4.0
4    5.0
5    6.0
dtype: float64

# all good

>>> -np.log(pd.Series([1, 2, 3, 0, 5, 6])).replace(np.inf, 4)
0   -0.000000
1   -0.693147
2   -1.098612
3         inf
4   -1.609438
5   -1.791759
dtype: float64

# ?!?!? replace not working

>>> np.log10(pd.Series([1, 2, 3, 0, 5, 6])).replace(-np.inf, 4)
0    0.000000
1    0.301030
2    0.477121
3    4.000000
4    0.698970
5    0.778151
dtype: float64

# replace IS working!?!? replace can replace -np.inf but not np.inf in this case?!?!?

```
#### Problem description

I might just be making a silly mistake here, but I can't seem to replace the `np.inf`s in my pandas Series when I got them by taking a `-np.log10`. Haven't characterized this issue fully (e.g. do other negative logs cause this issue as well?) What do you think? Note, I'm still on pandas 21.0

#### Expected Output

```
>>> -np.log(pd.Series([1, 2, 3, 0, 5, 6])).replace(np.inf, 4)
0   -0.000000
1   -0.693147
2   -1.098612
3    4.000000
4   -1.609438
5   -1.791759
dtype: float64
```

#### Output of ``pd.show_versions()``

<details>

INSTALLED VERSIONS
------------------
commit: None
python: 3.6.5.final.0
python-bits: 64
OS: Darwin
OS-release: 17.5.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8

pandas: 0.21.0
pytest: None
pip: 9.0.1
setuptools: 28.8.0
Cython: None
numpy: 1.13.3
scipy: 0.19.1
pyarrow: None
xarray: None
IPython: 6.2.1
sphinx: 1.6.6
patsy: 0.4.1
dateutil: 2.6.1
pytz: 2017.3
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: 2.0.2
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: 1.0b10
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: 2.9.6
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
</details>
