error in applying function on columns and return to new columns
#### Code Sample, a copy-pastable example if possible

```python
import pandas as pd

df = pd.DataFrame(data = {'a': [1, 2, 3], 'b': [4, 5, 6]})

def add_subtract_list(a, b):
  return [a + b, a - b]
df[['sum', 'difference']] = df.apply(
    lambda row: add_subtract_list(row['a'], row['b']), axis=1)
df[['sum2', 'difference2']] = df.apply(
    lambda row: add_subtract_list(row['a'], row['b']), axis=1)
```
#### Problem description

The first apply function works well, but the next one got KeyError issue:

Is the code just wrong?

```
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-16-c76f57c0e1d7> in <module>()
      1 df[['sum2', 'difference2']] = df.apply(
----> 2     lambda row: add_subtract_list(row['a'], row['b']), axis=1)

/data/qzhang/anaconda3/lib/python3.6/site-packages/pandas/core/frame.py in __setitem__(self, key, value)
   2512 
   2513         if isinstance(key, (Series, np.ndarray, list, Index)):
-> 2514             self._setitem_array(key, value)
   2515         elif isinstance(key, DataFrame):
   2516             self._setitem_frame(key, value)

/data/qzhang/anaconda3/lib/python3.6/site-packages/pandas/core/frame.py in _setitem_array(self, key, value)
   2540                     self[k1] = value[k2]
   2541             else:
-> 2542                 indexer = self.loc._convert_to_indexer(key, axis=1)
   2543                 self._check_setitem_copy()
   2544                 self.loc._setitem_with_indexer((slice(None), indexer), value)

/data/qzhang/anaconda3/lib/python3.6/site-packages/pandas/core/indexing.py in _convert_to_indexer(self, obj, axis, is_setter)
   1267                 if mask.any():
   1268                     raise KeyError('{mask} not in index'
-> 1269                                    .format(mask=objarr[mask]))
   1270 
   1271                 return _values_from_object(indexer)

KeyError: "['sum2' 'difference2'] not in index"
```

#### Expected Output


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

<details>

[paste the output of ``pd.show_versions()`` here below this line]

INSTALLED VERSIONS
------------------
commit: None
python: 3.6.4.final.0
python-bits: 64
OS: Linux
OS-release: 4.4.0-83-generic
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8

pandas: 0.22.0
pytest: 3.3.2
pip: 9.0.1
setuptools: 38.4.0
Cython: 0.27.3
numpy: 1.14.0
scipy: 1.0.0
pyarrow: None
xarray: None
IPython: 6.2.1
sphinx: 1.6.6
patsy: 0.5.0
dateutil: 2.6.1
pytz: 2017.3
blosc: None
bottleneck: 1.2.1
tables: 3.4.2
numexpr: 2.6.4
feather: None
matplotlib: 2.1.2
openpyxl: 2.4.10
xlrd: 1.1.0
xlwt: 1.3.0
xlsxwriter: 1.0.2
lxml: 4.1.1
bs4: 4.6.0
html5lib: 1.0.1
sqlalchemy: 1.2.1
pymysql: None
psycopg2: None
jinja2: 2.10
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
