Helper class to keep enable autocomplete of the columns in notebooks
When working on the notebook I am always annoyed that column names do not autocomplete in all scenarios. 

`dataframe = pd.DataFrame({'COL1':[1,2,3],'COL2':[2,3,4]})`

When typing 
`dataframe['CO       <--- The notebook will suggest COL1 and COL2 when pressing TAB`

but im lost when using

`pd.pivot_table(index='CO   <--- No chance`

My workaround is the following class, which creates an object that binds itself to a given DataFrame and keeps track of the columns

```
class Columns:
    import threading
    def __init__(self, df):
        self._df = df
        self._update()

    def _update(self):        
        self.__dict__.update({d:d for d in self._df.columns.tolist()})
        threading.Timer(3, self._update).start()

```

So now i use the object to autocomplete columns

```
C= Columns(dataframe)

pd.pivot_table(index=C.CO   <--- Yay! Autocomplete works again

```

Do you know of any better solution? And if not... maybe something like this can be included out-of-the-box in pandas for notebook users?
