df.apply reports ValueError after pd.to_datetime is called
#### Code Sample, a copy-pastable example if possible

```python
import pandas as pd
df = pd.DataFrame({'vin': ['vin1', 'vin1', 'vin1'],
                   'timestamp': [20181016105949, 20181016105942, 20181016105946]})
print(df)
df['ts'] = pd.to_datetime(df['timestamp'], format='%Y%m%d%H%M%S')
df.apply(lambda row: (row['vin']*2, row['vin']*3), axis=1)
```
#### Problem description
After the `pd.to_datetime` creates a new column to original `df`, then `df.apply` will report following error:
```
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-99-f98a00f27cdf> in <module>()
      1 # This will raise an error
----> 2 df.apply(lambda row: (row['vin']*2, row['vin']*3), axis=1)

/usr/lib64/python2.7/site-packages/pandas/core/frame.pyc in apply(self, func, axis, broadcast, raw, reduce, args, **kwds)
   4852                         f, axis,
   4853                         reduce=reduce,
-> 4854                         ignore_failures=ignore_failures)
   4855             else:
   4856                 return self._apply_broadcast(f, axis)

/usr/lib64/python2.7/site-packages/pandas/core/frame.pyc in _apply_standard(self, func, axis, ignore_failures, reduce)
   4965                 index = None
   4966 
-> 4967             result = self._constructor(data=results, index=index)
   4968             result.columns = res_index
   4969 

/usr/lib64/python2.7/site-packages/pandas/core/frame.pyc in __init__(self, data, index, columns, dtype, copy)
    328                                  dtype=dtype, copy=copy)
    329         elif isinstance(data, dict):
--> 330             mgr = self._init_dict(data, index, columns, dtype=dtype)
    331         elif isinstance(data, ma.MaskedArray):
    332             import numpy.ma.mrecords as mrecords

/usr/lib64/python2.7/site-packages/pandas/core/frame.pyc in _init_dict(self, data, index, columns, dtype)
    459             arrays = [data[k] for k in keys]
    460 
--> 461         return _arrays_to_mgr(arrays, data_names, index, columns, dtype=dtype)
    462 
    463     def _init_ndarray(self, values, index, columns, dtype=None, copy=False):

/usr/lib64/python2.7/site-packages/pandas/core/frame.pyc in _arrays_to_mgr(arrays, arr_names, index, columns, dtype)
   6138     axes = [_ensure_index(columns), _ensure_index(index)]
   6139 
-> 6140     return create_block_manager_from_arrays(arrays, arr_names, axes)
   6141 
   6142 

/usr/lib64/python2.7/site-packages/pandas/core/internals.pyc in create_block_manager_from_arrays(arrays, names, axes)
   4635         return mgr
   4636     except ValueError as e:
-> 4637         construction_error(len(arrays), arrays[0].shape, axes, e)
   4638 
   4639 

/usr/lib64/python2.7/site-packages/pandas/core/internals.pyc in construction_error(tot_items, block_shape, axes, e)
   4601         raise ValueError("Empty data passed with indices specified.")
   4602     raise ValueError("Shape of passed values is {0}, indices imply {1}".format(
-> 4603         passed, implied))
   4604 
   4605 

ValueError: Shape of passed values is (3, 2), indices imply (3, 3)
```

But if I switch the positions of `pd.to_datetime` and `df.apply` line, it will work. 

It also works if I skip `pd.to_datetime` line.

It also works if I don't create new column, i.e. `df['timestamp'] = pd.to_datetime(df['timestamp'], format='%Y%m%d%H%M%S')`

#### Expected Output
```
0    (vin1vin1, vin1vin1vin1)
1    (vin1vin1, vin1vin1vin1)
2    (vin1vin1, vin1vin1vin1)
dtype: object
```

#### Output of ``pd.show_versions()``
```
INSTALLED VERSIONS
------------------
commit: None
python: 2.7.5.final.0
python-bits: 64
OS: Linux
OS-release: 3.10.0-693.21.1.el7.x86_64
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: None.None

pandas: 0.21.0
pytest: 3.5.1
pip: 8.1.2
setuptools: 39.1.0
Cython: 0.29
numpy: 1.15.3
scipy: 1.0.1
pyarrow: None
xarray: None
IPython: 5.5.0
sphinx: None
patsy: None
dateutil: 1.5
pytz: 2017.3
blosc: None
bottleneck: None
tables: None
numexpr: 2.6.5
feather: None
matplotlib: 2.0.2
openpyxl: 2.4.8
xlrd: 1.0.0
xlwt: None
xlsxwriter: None
lxml: 3.2.1
bs4: None
html5lib: 0.9999999
sqlalchemy: 1.1.13
pymysql: None
psycopg2: None
jinja2: 2.10
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
```
