IniziaInizia gratis

Implementare un randomized block design

L’azienda manifatturiera con cui hai lavorato in precedenza è ancora interessata a condurre esperimenti sulla produttività dei lavoratori. In passato, i due blocchi erano impostati in modo casuale. Anche se può funzionare, spesso è meglio raggruppare i soggetti in base a caratteristiche simili.

Gli stessi dipendenti sono stati nuovamente caricati, questa volta in un DataFrame chiamato productivity che include anche altri 1200 colleghi. È presente anche una colonna 'productivity_score' del lavoratore, basata sulle unità prodotte per ora. Questa colonna è stata suddivisa in tre gruppi per creare blocchi con valori di produttività simili. L’azienda desidera applicare un nuovo programma di incentivi con tre opzioni ('Bonus', 'Profit Sharing' e 'Work from Home') a livello aziendale, assegnando i trattamenti in modo casuale.

numpy e pandas sono già caricati rispettivamente come np e pd.

Questo esercizio fa parte del corso

Progettazione Sperimentale in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Mescola i block per creare un nuovo DataFrame chiamato prod_df.
  • Reimposta l’indice in modo che block non sia sia indice sia colonna.
  • Assegna casualmente i tre valori di trattamento nella colonna 'Treatment'.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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(____)
)
Modifica ed esegui il codice