У меня есть набор данных о производственных дефектах одного продукта, и меня попросили нормализовать данные по количеству продуктов, произведенных за этот месяц. Ниже приведен небольшой фрагмент того, как выглядят данные.
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')