Нормализовать график по количеству строк, удовлетворяющих критериям - PullRequest
0 голосов
/ 04 марта 2020

У меня есть набор данных о производственных дефектах одного продукта, и меня попросили нормализовать данные по количеству продуктов, произведенных за этот месяц. Ниже приведен небольшой фрагмент того, как выглядят данные.

        Product Date        Time      Month    DEFECT
3197    Q-027   2019-11-04 10:04:00      11     CRACK
3251    Q-028   2019-10-30  9:38:00      10     CRACK
4856    Q-058   2019-12-30  9:34:00      12     CRACK

Как мне нормализовать дефекты

data[data['DEFECT'] == 'CRACK']

По количеству продуктов, построенных за любой конкретный c месяц? Я могу получить количество продуктов, построенных в течение определенного c месяца, например:

data[data['Month'] == 11]['Product'].nunique()

Но как сделать так, чтобы дефекты были нормализованы на основе количества продуктов, построенных за месяц, в котором появились дефекты? ?

Я попробовал следующее, но это не показывает нормализованные данные, поскольку он учитывает дефекты по всем произведенным продуктам, а не по продуктам, построенным в течение определенного c месяца.

defect = data[data['DEFECT'] == 'CRACK']
defect_chart = defect['Month'].value_counts(ascending=True).sort_index()
fig, ax = plt.subplots()
mean = len(defect) / products
ax2 = ax.twinx()
ax2.plot(mean)
ax2.set_ylabel('Defects/Total Products', color='b')
ax.set(xlabel='Month', ylabel='Sum of Defects')
defect_chart.plot(kind='bar', ax=ax, title='Defects')

enter image description here

...