Я работаю, чтобы попытаться сгруппировать мои данные по свойству Department, а затем сгруппировать их и заполнить пространство над и под двумя полями, которые заполняются в середине набора данных (Rating и Number).
Я пытался заставить группу работать, но безрезультатно.Мой план состоит в том, чтобы заставить группу работать, а затем применить следующий код, чтобы увидеть, могу ли я заставить заливку работать правильно.
# This won't work on its own because I need to group the data first.
df = df.mask(df == 0).ffill()
Это то, с чего я начинаю:
| Department | Range | Rating | Number |
|--------------|----------|--------------|--------|
| Admin | 0 (None) | | |
| Admin | 01 to 3 | | |
| Admin | 01 to 3 | | |
| Admin | 01 to 3 | | |
| Admin | 04 to 6 | 2. On Target | 2 |
| Admin | 04 to 6 | 2. On Target | 2 |
| Admin | 04 to 6 | 2. On Target | 2 |
| Admin | 07 to 10 | | |
| Admin | 07 to 10 | | |
| Admin | 07 to 10 | | |
| Admin | 07 to 10 | | |
| Distribution | 0 (None) | | |
| Distribution | 01 to 3 | | |
| Distribution | 01 to 3 | | |
| Distribution | 01 to 3 | | |
| Distribution | 04 to 6 | 2. On Target | 2 |
| Distribution | 04 to 6 | 2. On Target | 2 |
| Distribution | 04 to 6 | 2. On Target | 2 |
| Distribution | 07 to 10 | | |
| Distribution | 07 to 10 | | |
| Distribution | 07 to 10 | | |
| Distribution | 07 to 10 | | |
Это то, что я хочу
| Department | Range | Rating | Number |
|--------------|----------|--------------|--------|
| Admin | 0 (None) | 1. Too Low | 1 |
| Admin | 01 to 3 | 1. Too Low | 1 |
| Admin | 01 to 3 | 1. Too Low | 1 |
| Admin | 01 to 3 | 1. Too Low | 1 |
| Admin | 04 to 6 | 2. On Target | 2 |
| Admin | 04 to 6 | 2. On Target | 2 |
| Admin | 04 to 6 | 2. On Target | 2 |
| Admin | 07 to 10 | 3. Too High | 3 |
| Admin | 07 to 10 | 3. Too High | 3 |
| Admin | 07 to 10 | 3. Too High | 3 |
| Admin | 07 to 10 | 3. Too High | 3 |
| Distribution | 0 (None) | 1. Too Low | 1 |
| Distribution | 01 to 3 | 1. Too Low | 1 |
| Distribution | 01 to 3 | 1. Too Low | 1 |
| Distribution | 01 to 3 | 1. Too Low | 1 |
| Distribution | 04 to 6 | 2. On Target | 2 |
| Distribution | 04 to 6 | 2. On Target | 2 |
| Distribution | 04 to 6 | 2. On Target | 2 |
| Distribution | 07 to 10 | 3. Too High | 3 |
| Distribution | 07 to 10 | 3. Too High | 3 |
| Distribution | 07 to 10 | 3. Too High | 3 |
| Distribution | 07 to 10 | 3. Too High | 3 |
Есть ли динамический способ сделать это?