Issue 1:
Code Sample, a copy-pastable example if possible

# This works as expected, and as it worked in the past (0.17.1)
pd.concat([pd.util.testing.makeTimeSeries(), pd.Series()], axis=1)

# This fails in 0.20.1
pd.concat([pd.util.testing.makeTimeSeries().tz_localize('America/Chicago'), pd.Series()], axis=1)

Problem description

Only happens with axis=1

Shouldn't be a problem to concat an empty series to a dataframe...

Expected Output

Should filter out empty objects passed to concat.

pd.concat([pd.Series(pd.util.testing.makeTimeSeries().tz_localize('America/Chicago'), name='with_tz'), pd.Series(name='empty')], axis=1)
Out[2]:
with_tz
2000-01-03 00:00:00-06:00 -0.999300
2000-01-04 00:00:00-06:00 -0.800759
2000-01-05 00:00:00-06:00 0.166496
2000-01-06 00:00:00-06:00 -0.496464
2000-01-07 00:00:00-06:00 -0.237731
2000-01-10 00:00:00-06:00 -0.242352
2000-01-11 00:00:00-06:00 1.779163
2000-01-12 00:00:00-06:00 0.193893

Output of pd.show_versions()

```
INSTALLED VERSIONS
------------------
commit: None
python: 2.7.12.final.0
python-bits: 64
OS: Windows
OS-release: 8.1
machine: AMD64
processor: Intel64 Family 6 Model 60 Stepping 3, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None
LOCALE: None.None
pandas: 0.20.2
pytest: 3.0.7
pip: 9.0.1
setuptools: 34.3.1
Cython: None
numpy: 1.12.1
scipy: 0.18.1
xarray: None
IPython: 5.3.0
sphinx: None
patsy: 0.4.1
dateutil: 2.6.0
pytz: 2017.2
blosc: None
bottleneck: None
tables: None
numexpr: 2.6.2
feather: None
matplotlib: 2.0.2
openpyxl: None
xlrd: 1.0.0
xlwt: None
xlsxwriter: None
lxml: None
bs4: 4.5.1
html5lib: 0.9999999
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: 2.9.6
s3fs: None
pandas_gbq: None
pandas_datareader: None

Issue 2:
Code Sample

I am not sure this is the simplest way to produce this error.

import pandas as pd
import pytz
from datetime import datetime
ldn = pytz.timezone("Europe/London")
df = pd.DataFrame(data={"times" : [ldn.localize(datetime(2017,5,4, 11, 18)),
ldn.localize(datetime(2017,5,4,13,20)),
ldn.localize(datetime(2017,3,4, 11, 18)),
ldn.localize(datetime(2017,3,4,13,20))],
"toGroupBy" : ["a", "a", "b","b"]})

def timeoffset(df):
col = df.times
if df.toGroupBy.iloc[0] == "b":
forward = [None for i in range(len(col))]
else:
forward = [None if i == len(col) -1 else col[i+1] for i in range(len(col))]
return pd.DataFrame(data={"forward" : forward})

gb = df.groupby("toGroupBy")
gb.apply(timeoffset)

Problem description

the last line above throws the following stacktrace:

---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-59-40778c60c413> in <module>()
----> 1 gb.apply(timeoffset)

/home/me/git/pandas/pandas/core/groupby.py in apply(self, func, *args, **kwargs)
714 # ignore SettingWithCopy here in case the user mutates
715 with option_context('mode.chained_assignment', None):
--> 716 return self._python_apply_general(f)
717
718 def _python_apply_general(self, f):

/home/me/git/pandas/pandas/core/groupby.py in _python_apply_general(self, f)
723 keys,
724 values,
--> 725 not_indexed_same=mutated or self.mutated)
726
727 def _iterate_slices(self):

/home/me/git/pandas/pandas/core/groupby.py in _wrap_applied_output(self, keys, values, not_indexed_same)
3524 elif isinstance(v, DataFrame):
3525 return self._concat_objects(keys, values,
-> 3526 not_indexed_same=not_indexed_same)
3527 elif self.grouper.groupings is not None:
3528 if len(self.grouper.groupings) > 1:

/home/me/git/pandas/pandas/core/groupby.py in _concat_objects(self, keys, values, not_indexed_same)
913
914 result = concat(values, axis=self.axis, keys=group_keys,
--> 915 levels=group_levels, names=group_names)
916 else:
917

/home/me/git/pandas/pandas/core/reshape/concat.py in concat(objs, axis, join, join_axes, ignore_index, keys, levels, names, verify_integrity, copy)
205 verify_integrity=verify_integrity,
206 copy=copy)
--> 207 return op.get_result()
208
209

/home/me/git/pandas/pandas/core/reshape/concat.py in get_result(self)
405 new_data = concatenate_block_managers(
406 mgrs_indexers, self.new_axes, concat_axis=self.axis,
--> 407 copy=self.copy)
408 if not self.copy:
409 new_data._consolidate_inplace()

/home/me/git/pandas/pandas/core/internals.py in concatenate_block_managers(mgrs_indexers, axes, concat_axis, copy)
4830 blocks = [make_block(
4831 concatenate_join_units(join_units, concat_axis, copy=copy),
-> 4832 placement=placement) for placement, join_units in concat_plan]
4833
4834 return BlockManager(blocks, axes)

/home/me/git/pandas/pandas/core/internals.py in <listcomp>(.0)
4830 blocks = [make_block(
4831 concatenate_join_units(join_units, concat_axis, copy=copy),
-> 4832 placement=placement) for placement, join_units in concat_plan]
4833
4834 return BlockManager(blocks, axes)

/home/me/git/pandas/pandas/core/internals.py in concatenate_join_units(join_units, concat_axis, copy)
4937 to_concat = [ju.get_reindexed_values(empty_dtype=empty_dtype,
4938 upcasted_na=upcasted_na)
-> 4939 for ju in join_units]
4940
4941 if len(to_concat) == 1:

/home/me/git/pandas/pandas/core/internals.py in <listcomp>(.0)
4937 to_concat = [ju.get_reindexed_values(empty_dtype=empty_dtype,
4938 upcasted_na=upcasted_na)
-> 4939 for ju in join_units]
4940
4941 if len(to_concat) == 1:

/home/me/git/pandas/pandas/core/internals.py in get_reindexed_values(self, empty_dtype, upcasted_na)
5210 pass
5211 else:
-> 5212 missing_arr = np.empty(self.shape, dtype=empty_dtype)
5213 missing_arr.fill(fill_value)
5214 return missing_arr

TypeError: data type not understood

Expected Output

forward
toGroupBy
a 0 2017-05-04 13:20:00+01:00
1 NaT
b 0 NaT
1 NaT

Output of pd.show_versions()

INSTALLED VERSIONS
------------------
commit: None
python: 3.6.0.final.0
python-bits: 64
OS: Linux
OS-release: 2.6.32-696.el6.x86_64
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: en_GB.utf8
LANG: en_GB.utf8
LOCALE: en_GB.UTF-8

pandas: 0.20.0rc1+48.gae70ece

pytest: None

pip: 9.0.1

setuptools: 28.8.0

Cython: 0.25.2

numpy: 1.12.1

scipy: None

xarray: None

IPython: 6.0.0

sphinx: None

patsy: None

dateutil: 2.6.0

pytz: 2017.2

blosc: None

bottleneck: None

tables: None

numexpr: None

feather: None

matplotlib: None

openpyxl: None

xlrd: None

xlwt: None

xlsxwriter: None

lxml: None

bs4: None

html5lib: 0.999999999

sqlalchemy: None

pymysql: None

psycopg2: None

jinja2: 2.9.6

s3fs: None

pandas_gbq: None

pandas_datareader: None