Я пытаюсь отображать сводную таблицу каждый месяц, даже если там нет значений. Вот то, что я получаю сегодня с типами данных ниже сводной таблицы. Заголовок столбца представляет месяц # (который я также хотел бы изменить на месяц действия, т.е. 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)