REGR: Behavior change with empty apply in pandas 1.3.0rc1
#### Problem description

The following (toy) snippet worked with 1.2:

```python
df = pd.DataFrame(columns=["a", "b"])
df["a"] = df.apply(lambda x: x["a"], axis=1)
```

With 1.3 it fails with `ValueError: Columns must be same length as key`

Technically this is correct - the apply on an empty frame returns the empty frame so things do not really match.


#### Expected Output

It still works? Just reporting it here if this is an unintended change. Maybe I missed it, but I did not see this mentioned in the changelog.

The fix is to only call apply when the frame is not empty I guess? I stumbled upon this one when running our test suite.
