BUG: Empty dataframe returns weird aggregation results with custom aggregation functions
- [X] I have checked that this issue has not already been reported.

- [X] I have confirmed this bug exists on the latest version of pandas.

- [ ] (optional) I have confirmed this bug exists on the master branch of pandas.

---

**Note**: Please read [this guide](https://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports) detailing how to provide the necessary information for us to reproduce your bug.

#### Code Sample, a copy-pastable example

```python
import pandas as pd

df = pd.DataFrame( columns=["item", "att1", "att2"])
df.agg(("count",))
# item  att1  att2
# count     0     0     0

def count_not_null(series: pd.Series) -> int:
    return series.notnull().astype(int).sum()

df.agg((count_not_null,))
# Empty DataFrame
# Columns: [(item, count_not_null), (att1, count_not_null), (att2, count_not_null)]
# Index: []

def count_all(series: pd.Series) -> int:
    """ count all the values (regardless if they are null or nan) """
    return len(series)

df.agg((count_not_null, count_all))
# Empty DataFrame
# Columns: [(item, count_not_null), (item, count_all), (att1, count_not_null), (att1, count_all), 
# (att2, count_not_null), (att2, count_all)]
# Index: []

```

#### Problem description
This issue only occurs when using custom aggregation function on empty dataframes. it works as expected with non empty dataframe.  I would expect a similar output as the one obtained when using `count` aggregation function. 

Workaround: if I use only one aggregation pass only the specific function to `agg`.

This is definetely a very dark specific bug that I found by toying around with pandas for a small library that I am writing. I don't see big effect in the daily lives of users (we probably don't want to aggregate on empty dataframes!) :). 


#### Expected Output
```
# item  att1  att2
# count     0     0     0
```


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


<details>

INSTALLED VERSIONS
------------------
commit           : None
python           : 3.8.1.final.0
python-bits      : 64
OS               : Darwin
OS-release       : 19.0.0
machine          : x86_64
processor        : i386
byteorder        : little
LC_ALL           : None
LANG             : de_DE.UTF-8
LOCALE           : de_DE.UTF-8

pandas           : 1.0.3
numpy            : 1.18.1
pytz             : 2019.3
dateutil         : 2.8.1
pip              : 20.0.2
setuptools       : 45.2.0.post20200210
Cython           : None
pytest           : 5.4.1
hypothesis       : 5.8.0
sphinx           : 2.4.4
blosc            : None
feather          : None
xlsxwriter       : None
lxml.etree       : None
html5lib         : None
pymysql          : None
psycopg2         : None
jinja2           : 2.11.1
IPython          : 7.12.0
pandas_datareader: None
bs4              : None
bottleneck       : None
fastparquet      : None
gcsfs            : None
lxml.etree       : None
matplotlib       : None
numexpr          : None
odfpy            : None
openpyxl         : None
pandas_gbq       : None
pyarrow          : None
pytables         : None
pytest           : 5.4.1
pyxlsb           : None
s3fs             : None
scipy            : 1.4.1
sqlalchemy       : None
tables           : None
tabulate         : None
xarray           : None
xlrd             : None
xlwt             : None
xlsxwriter       : None
numba            : None
```
</details>
