Groupby behaviour of missing zeros
#### Problem description
I wish to get the number of sales for each month, even when the product is missing sales figures for a certain period. Consider the following example:
```python
import pandas as pd
import numpy as np
np.random.seed(42)

dates = pd.date_range('1/1/2001','31/12/2001', freq = 'd')
sales = [np.random.randint(100) for _ in range(len(dates))]
product = [['A', 'B', 'C'][np.random.randint(3)] for _ in range(len(dates))]

df = pd.DataFrame({'Dates': dates, 
                   'Sales': sales,
                   'Product': product
                  })
march = df.Dates.dt.month == 3
df = df[~march]
```
All the march data is deleted. I wish to get those sales to show zero when I print out this:
```
monthly = pd.Grouper(key='Dates', freq='M')
sum_sales = df.groupby(['Product', monthly])['Sales'].sum()
```
where `sum_sales` just for product A is as follows (notice the lack of March time step):
```
Product  Dates     
A        2001-01-31    658
         2001-02-28    460
         2001-04-30    541
         2001-05-31    701
         2001-06-30    517
         2001-07-31    596
         2001-08-31    802
         2001-09-30    654
         2001-10-31    561
         2001-11-30    473
         2001-12-31    605
```

However, if I simply do `df.groupby(monthly)['Sales'].sum()` without grouping by product, I get the zero as expected.
```
Dates
2001-01-31    1616
2001-02-28    1256
2001-03-31       0
2001-04-30    1555
2001-05-31    1384
2001-06-30    1451
2001-07-31    1677
2001-08-31    1472
2001-09-30    1535
2001-10-31    1316
2001-11-30    1573
2001-12-31    1403
```

So just wondering how do I get pandas as to show the missing dates as zero sales when using multiple things inside `groupby`.

The solution according to this [answer](https://stackoverflow.com/a/57752676/2530674) was to use `sum_sales = df.set_index('Dates').groupby('Product').resample('M')['Sales'].sum()`. However, I feel like groupby should be doing this anyway? Thoughts?

pandas version: 0.24.2
