Реалізація рандомізованого блочного дизайну
Виробнича компанія, з якою ви працювали раніше, і далі зацікавлена в експериментах щодо продуктивності праці. Раніше два блоки задавалися випадковим чином. Хоч це і може працювати, краще групувати учасників за подібними характеристиками.
Ті самі співробітники знову завантажені, але цього разу в датафрейм productivity разом із 1200 іншими колегами. Він також містить стовпець 'productivity_score' працівника на основі кількості вироблених одиниць за годину. Цей стовпець було розбито на три групи, щоб сформувати блоки з подібними значеннями продуктивності. Компанія хоче застосувати нову програму заохочень із трьома варіантами ('Bonus', 'Profit Sharing' і 'Work from Home') по всій компанії з випадковим призначенням лікування.
numpy і pandas імпортовано як np та pd відповідно.
Ця вправа є частиною курсу
Експериментальний дизайн у Python
Інструкції до вправи
- Перемішайте
block, щоб створити новий датафреймprod_df. - Скиньте індекс так, щоб
blockне був одночасно індексом і стовпцем. - Випадково призначте три значення втручань у стовпці
'Treatment'.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Randomly assign workers to blocks
prod_df = productivity.____('____').apply(
lambda x: x.____(____)
)
# Reset the index
prod_df = prod_df.____(____)
# Assign treatment randomly
prod_df['Treatment'] = np.random.choice(
['____', '____', '____'],
size=len(____)
)