Pandas Сводная таблица - Как отобразить столбцы без значений - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь отображать сводную таблицу каждый месяц, даже если там нет значений. Вот то, что я получаю сегодня с типами данных ниже сводной таблицы. Заголовок столбца представляет месяц # (который я также хотел бы изменить на месяц действия, т.е. 1 = "январь" и т. Д. c.).

            PART NUMBER          
Month Baseline        4.0  5.0  10.0
EPA Status                          
Completed               36    0    5
In Process              17    0    0
Not Required             1    0    0
Not Started             37    1    0


Month Baseline
PART NUMBER  4.0               int64
             5.0               int64
             10.0              int64

Вот то, что я хотел бы см .:

                 PART NUMBER          
Month Baseline         1.0  2.0  3.0  4.0  5.0  6.0...12.0
EPA Status                          
Completed               0    0    0    36    0    5     0
In Process              0    0    0    17    0    0     0
Not Required            0    0    0     1    0    0     0
Not Started             0    0    0    37    1    0     0

Вот мой код ниже. Любая помощь очень ценится!

import numpy as np

from ChooseFileGUI import choose_file

import matplotlib.pyplot as plt

df = pd.read_excel(choose_file(), "Data Input")  # define DataFrame "df" from Excel File, Worksheet 
"Data Input"

df["EPA Status"] = df["EPA Status"].astype("category")

months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"]  # 
month list

gear_shaft_filter = df[(df["Sub Team"] == "GEAR/SHAFT") &  # change Sub Team name to suit
                       (df["InScope (Y/N)"] == "YES") &  # change to NO to see out of scope
                       (df["EPA PM Forecast Completion Year"] == 2020)]  # change or add years as 
                                                                           required

pivot_df = pd.pivot_table(gear_shaft_filter,
                          index=["EPA Status"],
                          values=["PART NUMBER"],
                          columns=["Month Baseline"],
                          aggfunc=np.count_nonzero,
                          fill_value=0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...