AbstractMethodError on IPython help for Series
I'm using tab completion and wildcard search in IPython to find the right method usually. It's very common: https://jakevdp.github.io/PythonDataScienceHandbook/01.01-help-and-documentation.html

This used to work fine with pandas also in the past, but now I noticed that wildcard search is broken, and that tab completion spits a bunch of deprecation warnings for things I actually don't want to call, i.e. in this context garbage.

I.e. currently Pandas is much less IPython help friendly?
Can this be improved?


```
$ ipython
Python 3.7.3 (default, Mar 27 2019, 16:54:48) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.8.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import pandas as pd                                                                                                                                                                          

In [2]: pd.__version__                                                                                                                                                                               
Out[2]: '0.25.1'

In [3]: import numpy as np                                                                                                                                                                           

In [5]: n = np.array([1, 2, 3])                                                                                                                                                                      

In [6]: n.*sum*?                                                                                                                                                                                     
n.cumsum
n.sum

In [7]: s = pd.Series([1, 2, 3])                                                                                                                                                                     

In [8]: s.*sum*?                                                                                                                                                                                     
---------------------------------------------------------------------------
AbstractMethodError                       Traceback (most recent call last)
~/software/anaconda3/lib/python3.7/site-packages/IPython/core/oinspect.py in psearch(self, pattern, ns_table, ns_search, ignore_case, show_all, list_types)
   1024             namespaces_seen.add(id(ns))
   1025             tmp_res = list_namespace(ns, type_pattern, filter,
-> 1026                                     ignore_case=ignore_case, show_all=show_all)
   1027             search_result.update(tmp_res)
   1028 

~/software/anaconda3/lib/python3.7/site-packages/IPython/utils/wildcard.py in list_namespace(namespace, type_pattern, filter, ignore_case, show_all)
    104         results = {}
    105         for name, obj in filtered.items():
--> 106             ns = list_namespace(dict_dir(obj), type_pattern,
    107                                 ".".join(pattern_list[1:]),
    108                                 ignore_case=ignore_case, show_all=show_all)

~/software/anaconda3/lib/python3.7/site-packages/IPython/utils/wildcard.py in dict_dir(obj)
     68        # thing.  In particular, Traits use this pattern
     69        try:
---> 70            ns[key] = getattr(obj, key)
     71        except AttributeError:
     72            pass

~/software/anaconda3/lib/python3.7/site-packages/pandas/core/generic.py in _constructor_sliced(self)
    255         original, such as DataFrame single columns slicing.
    256         """
--> 257         raise AbstractMethodError(self)
    258 
    259     @property

AbstractMethodError: This method must be defined in the concrete class Series
```

and for tab completion

```
See the documentation here:
http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
  return_obj = getattr(self._obj, name)
/Users/deil/software/anaconda3/lib/python3.7/site-packages/jedi/evaluate/compiled/access.py:347: FutureWarning: `real` is deprecated and will be removed in a future version. To eliminate this warning for a Series `ser`, use `np.real(ser.to_numpy())` or `ser.to_numpy().real`.
  return_obj = getattr(self._obj, name)
/Users/deil/software/anaconda3/lib/python3.7/site-packages/jedi/evaluate/compiled/access.py:347: FutureWarning: Series.strides is deprecated and will be removed in a future version
  return_obj = getattr(self._obj, name)
/Users/deil/software/anaconda3/lib/python3.7/site-packages/jedi/evaluate/compiled/access.py:347: FutureWarning: Series.base is deprecated and will be removed in a future version
  return_obj = getattr(self._obj, name)
/Users/deil/software/anaconda3/lib/python3.7/site-packages/jedi/evaluate/compiled/access.py:347: FutureWarning: Series.data is deprecated and will be removed in a future version
  return_obj = getattr(self._obj, name)
/Users/deil/software/anaconda3/lib/python3.7/site-packages/jedi/evaluate/compiled/access.py:347: FutureWarning: Series.flags is deprecated and will be removed in a future version
  return_obj = getattr(self._obj, name)
/Users/deil/software/anaconda3/lib/python3.7/site-packages/jedi/evaluate/compiled/access.py:347: FutureWarning: Series.ftype is deprecated and will be removed in a future version. Use Series.dtype instead.
  return_obj = getattr(self._obj, name)
/Users/deil/software/anaconda3/lib/python3.7/site-packages/jedi/evaluate/compiled/access.py:347: FutureWarning: Series.ftypes is deprecated and will be removed in a future version. Use Series.dtype instead.
  return_obj = getattr(self._obj, name)
/Users/deil/software/anaconda3/lib/python3.7/site-packages/jedi/evaluate/compiled/access.py:347: FutureWarning: `imag` is deprecated and will be removed in a future version. To eliminate this warning for a Series `ser`, use `np.imag(ser.to_numpy())` or `ser.to_numpy().imag`.
  return_obj = getattr(self._obj, name)
/Users/deil/software/anaconda3/lib/python3.7/site-packages/jedi/evaluate/compiled/access.py:347: FutureWarning: Series.itemsize is deprecated and will be removed in a future version
  return_obj = getattr(self._obj, name)
/Users/deil/software/anaconda3/lib/python3.7/site-packages/jedi/evaluate/compiled/access.py:347: FutureWarning: 
.ix is deprecated. Please use
.loc for label based indexing or
.iloc for positional indexing

See the documentation here:
http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
  return_obj = getattr(self._obj, name)
/Users/deil/software/anaconda3/lib/python3.7/site-packages/jedi/evaluate/compiled/access.py:347: FutureWarning: `real` is deprecated and will be removed in a future version. To eliminate this warning for a Series `ser`, use `np.real(ser.to_numpy())` or `ser.to_numpy().real`.
  return_obj = getattr(self._obj, name)
/Users/deil/software/anaconda3/lib/python3.7/site-packages/jedi/evaluate/compiled/access.py:347: FutureWarning: Series.strides is deprecated and will be removed in a future version
  return_obj = getattr(self._obj, name)
In [9]: s.abs 
  abs()                   agg()                   any()                   argmin()                asfreq()                at_time()               between()               clip()                   
  add()                   aggregate()             append()                argsort()               asof()                  autocorr()              between_time()          clip_lower()             
  add_prefix()            align()                 apply()                 array                   astype()                axes                    bfill()                 clip_upper()            >

```