df.iloc[df.index]    IndexError: positional indexers are out-of-bounds
#### Code Sample, a copy-pastable example if possible

```python
In [3]: df1
Out[3]:
                                      store_id     ...      stockout_min
datetime                                           ...
9         1148a913-7860-4525-b9c9-06c428baea4e     ...               0.0
10        1148a913-7860-4525-b9c9-06c428baea4e     ...               0.0
11        1148a913-7860-4525-b9c9-06c428baea4e     ...               0.0
12        1148a913-7860-4525-b9c9-06c428baea4e     ...               0.0
13        1148a913-7860-4525-b9c9-06c428baea4e     ...               0.0
14        1148a913-7860-4525-b9c9-06c428baea4e     ...               0.0
15        1148a913-7860-4525-b9c9-06c428baea4e     ...               0.0
16        1148a913-7860-4525-b9c9-06c428baea4e     ...               0.0
17        1148a913-7860-4525-b9c9-06c428baea4e     ...               0.0
18        1148a913-7860-4525-b9c9-06c428baea4e     ...               0.0
19        1148a913-7860-4525-b9c9-06c428baea4e     ...               0.0
20        1148a913-7860-4525-b9c9-06c428baea4e     ...               0.0
21        1148a913-7860-4525-b9c9-06c428baea4e     ...               0.0
22        1148a913-7860-4525-b9c9-06c428baea4e     ...               0.0
23        1148a913-7860-4525-b9c9-06c428baea4e     ...               0.0

[15 rows x 4 columns]

In [4]: stockfull_hour
Out[4]: Int64Index([9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], dtype='int64', name='datetime')

In [7]: set(stockfull_hour)
Out[7]: {9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}

In [8]: set(df1.index)
Out[8]: {9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}

In [6]: df1.iloc[stockfull_hour]
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in _get_list_axis(self, key, axis)
   2069         try:
-> 2070             return self.obj._take(key, axis=axis)
   2071         except IndexError:

C:\Anaconda3\lib\site-packages\pandas\core\generic.py in _take(self, indices, axis, is_copy)
   2788                                    axis=self._get_block_manager_axis(axis),
-> 2789                                    verify=True)
   2790         result = self._constructor(new_data).__finalize__(self)

C:\Anaconda3\lib\site-packages\pandas\core\internals.py in take(self, indexer, axis, verify, convert)
   4529         if convert:
-> 4530             indexer = maybe_convert_indices(indexer, n)
   4531

C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in maybe_convert_indices(indices, n)
   2479     if mask.any():
-> 2480         raise IndexError("indices are out-of-bounds")
   2481     return indices

IndexError: indices are out-of-bounds

During handling of the above exception, another exception occurred:

IndexError                                Traceback (most recent call last)
E:\pp\mlc\mlc\preprocess\fix_stockout_order.py in func(df1)
    105         try:
--> 106             stockfull_sum = df1.iloc[stockfull_hour].sale_count.sum()
    107         except:

C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in __getitem__(self, key)
   1477             maybe_callable = com._apply_if_callable(key, self.obj)
-> 1478             return self._getitem_axis(maybe_callable, axis=axis)
   1479

C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in _getitem_axis(self, key, axis)
   2090         elif is_list_like_indexer(key):
-> 2091             return self._get_list_axis(key, axis=axis)
   2092

C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in _get_list_axis(self, key, axis)
   2072             # re-raise with different error message
-> 2073             raise IndexError("positional indexers are out-of-bounds")
   2074

IndexError: positional indexers are out-of-bounds

During handling of the above exception, another exception occurred:

IndexError                                Traceback (most recent call last)
C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in _get_list_axis(self, key, axis)
   2069         try:
-> 2070             return self.obj._take(key, axis=axis)
   2071         except IndexError:

C:\Anaconda3\lib\site-packages\pandas\core\generic.py in _take(self, indices, axis, is_copy)
   2788                                    axis=self._get_block_manager_axis(axis),
-> 2789                                    verify=True)
   2790         result = self._constructor(new_data).__finalize__(self)

C:\Anaconda3\lib\site-packages\pandas\core\internals.py in take(self, indexer, axis, verify, convert)
   4529         if convert:
-> 4530             indexer = maybe_convert_indices(indexer, n)
   4531

C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in maybe_convert_indices(indices, n)
   2479     if mask.any():
-> 2480         raise IndexError("indices are out-of-bounds")
   2481     return indices

IndexError: indices are out-of-bounds

During handling of the above exception, another exception occurred:

IndexError                                Traceback (most recent call last)
E:\pp\mlc\mlc\preprocess\fix_stockout_order.py in <module>()
----> 1 df1.iloc[stockfull_hour]

C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in __getitem__(self, key)
   1476
   1477             maybe_callable = com._apply_if_callable(key, self.obj)
-> 1478             return self._getitem_axis(maybe_callable, axis=axis)
   1479
   1480     def _is_scalar_access(self, key):

C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in _getitem_axis(self, key, axis)
   2089         # a list of integers
   2090         elif is_list_like_indexer(key):
-> 2091             return self._get_list_axis(key, axis=axis)
   2092
   2093         # a single integer

C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in _get_list_axis(self, key, axis)
   2071         except IndexError:
   2072             # re-raise with different error message
-> 2073             raise IndexError("positional indexers are out-of-bounds")
   2074
   2075     def _getitem_axis(self, key, axis=None):

IndexError: positional indexers are out-of-bounds

```

Then I tried  `df1.iloc[df1.index]` , same error

```
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in _get_list_axis(self, key, axis)
   2069         try:
-> 2070             return self.obj._take(key, axis=axis)
   2071         except IndexError:

C:\Anaconda3\lib\site-packages\pandas\core\generic.py in _take(self, indices, axis, is_copy)
   2788                                    axis=self._get_block_manager_axis(axis),
-> 2789                                    verify=True)
   2790         result = self._constructor(new_data).__finalize__(self)

C:\Anaconda3\lib\site-packages\pandas\core\internals.py in take(self, indexer, axis, verify, convert)
   4529         if convert:
-> 4530             indexer = maybe_convert_indices(indexer, n)
   4531

C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in maybe_convert_indices(indices, n)
   2479     if mask.any():
-> 2480         raise IndexError("indices are out-of-bounds")
   2481     return indices

IndexError: indices are out-of-bounds

During handling of the above exception, another exception occurred:

IndexError                                Traceback (most recent call last)
E:\pp\mlc\mlc\preprocess\fix_stockout_order.py in func(df1)
    105         try:
--> 106             stockfull_sum = df1.iloc[stockfull_hour].sale_count.sum()
    107         except:

C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in __getitem__(self, key)
   1477             maybe_callable = com._apply_if_callable(key, self.obj)
-> 1478             return self._getitem_axis(maybe_callable, axis=axis)
   1479

C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in _getitem_axis(self, key, axis)
   2090         elif is_list_like_indexer(key):
-> 2091             return self._get_list_axis(key, axis=axis)
   2092

C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in _get_list_axis(self, key, axis)
   2072             # re-raise with different error message
-> 2073             raise IndexError("positional indexers are out-of-bounds")
   2074

IndexError: positional indexers are out-of-bounds

During handling of the above exception, another exception occurred:

IndexError                                Traceback (most recent call last)
C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in _get_list_axis(self, key, axis)
   2069         try:
-> 2070             return self.obj._take(key, axis=axis)
   2071         except IndexError:

C:\Anaconda3\lib\site-packages\pandas\core\generic.py in _take(self, indices, axis, is_copy)
   2788                                    axis=self._get_block_manager_axis(axis),
-> 2789                                    verify=True)
   2790         result = self._constructor(new_data).__finalize__(self)

C:\Anaconda3\lib\site-packages\pandas\core\internals.py in take(self, indexer, axis, verify, convert)
   4529         if convert:
-> 4530             indexer = maybe_convert_indices(indexer, n)
   4531

C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in maybe_convert_indices(indices, n)
   2479     if mask.any():
-> 2480         raise IndexError("indices are out-of-bounds")
   2481     return indices

IndexError: indices are out-of-bounds

During handling of the above exception, another exception occurred:

IndexError                                Traceback (most recent call last)
E:\pp\mlc\mlc\preprocess\fix_stockout_order.py in <module>()
----> 1 df1.iloc[df1.index]

C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in __getitem__(self, key)
   1476
   1477             maybe_callable = com._apply_if_callable(key, self.obj)
-> 1478             return self._getitem_axis(maybe_callable, axis=axis)
   1479
   1480     def _is_scalar_access(self, key):

C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in _getitem_axis(self, key, axis)
   2089         # a list of integers
   2090         elif is_list_like_indexer(key):
-> 2091             return self._get_list_axis(key, axis=axis)
   2092
   2093         # a single integer

C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in _get_list_axis(self, key, axis)
   2071         except IndexError:
   2072             # re-raise with different error message
-> 2073             raise IndexError("positional indexers are out-of-bounds")
   2074
   2075     def _getitem_axis(self, key, axis=None):

IndexError: positional indexers are out-of-bounds
```



#### Problem description
test code:

```
x = pd.Int64Index([9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], dtype='int64', name='datetime')
a = pd.DataFrame(index=x, date={'x':1})
a.iloc[a.index]
```


#### Expected Output

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

<details>

INSTALLED VERSIONS
------------------
commit: None
python: 3.6.5.final.0
python-bits: 64
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 45 Stepping 7, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None
LOCALE: None.None

pandas: 0.23.4
pytest: 3.5.1
pip: 18.1
setuptools: 39.1.0
Cython: 0.28.2
numpy: 1.14.3
scipy: 1.1.0
pyarrow: 0.8.0
xarray: None
IPython: 6.4.0
sphinx: 1.7.4
patsy: 0.5.0
dateutil: 2.7.3
pytz: 2018.4
blosc: None
bottleneck: 1.2.1
tables: 3.4.3
numexpr: 2.6.5
feather: None
matplotlib: 3.0.1
openpyxl: 2.5.3
xlrd: 1.1.0
xlwt: 1.3.0
xlsxwriter: 1.0.4
lxml: 4.2.1
bs4: 4.6.0
html5lib: 1.0.1
sqlalchemy: 1.2.7
pymysql: None
psycopg2: None
jinja2: 2.10
s3fs: 0.1.6
fastparquet: None
pandas_gbq: None
pandas_datareader: None

</details>
