Беда в этом.
Допустим, у нас есть pandas df, который можно сгенерировать с помощью следующего:
month=['dec','dec','dec','jan','feb','feb','mar','mar']
category =['a','a','b','b','a','b','b','b']
sales=[1,10,2,5,12,4,3,1]
df = pd.DataFrame(list(zip(month,category,sales)),
columns =['month', 'cat','sales'])
print(df)
| month cat sales |
|--------------------|
| 0 dec a 1 |
| 1 dec a 10 |
| 2 dec b 2 |
| 3 jan b 5 |
| 4 feb a 12 |
| 5 feb b 4 |
| 6 mar b 3 |
| 7 mar b 1 |
, тогда давайте предположим, что мы хотим подсчитать каждую категорию по месяцам.
поэтому мы go и делаем что-то вроде
df=df.groupby(['month','cat']).sales.sum().reset_index()
print(df)
| month cat sales |
|--------------------|
| 0 dec a 11 |
| 1 dec b 2 |
| 2 feb a 12 |
| 3 feb b 4 |
| 4 jan b 5 |
| 5 mar b 4 |
Но мы хотели бы видеть следующее:
| month cat sales |
|--------------------|
| 0 dec a 11 |
| 1 dec b 2 |
| 2 feb a 12 |
| 3 feb b 4 |
| 4 jan b 5 |
| 5 jan a 0 |
| 6 mar b 4 |
| 7 mar a 0 |
Где разница в категориях, которые сделали не отображаться в конкретном месяце все равно будет отображаться только с нулевым значением.
Вероятно, об этом уже спрашивали, но я не смог его найти. Если вы укажете мне направление вопроса, мы go будем его удалять.