DataFrame apply change return type from Series to DataFrame if result is empty
pd.version.version ## return '0.11.0'
x = pd.DataFrame({'a': range(10), 'b': range(10)})
type(x.apply(lambda x: x['a'] + x['b'], 1))  # <class 'pandas.core.series.Series'>
x['c'] = x.apply(lambda x: x['a'] + x['b'], 1) ## works

x = x[x['a'] < 0]
type(x.apply(lambda x: x['a'] + x['b'], 1)) # <class 'pandas.core.frame.DataFrame'>
x['c'] = x.apply(lambda x: x['a'] + x['b'], 1) ## FAILS

Code above is the problem for quite common usage of apply to create new dataframe column using func applyed on row. It fails for empty dataframe and works for non-empty one.
