IniziaInizia gratis

Usare un outer join per selezionare gli attori

Un aspetto interessante dell'outer join è che, siccome restituisce tutte le righe di entrambe le tabelle unite e valori null dove non c'è corrispondenza, puoi usarlo per trovare le righe che non hanno un match nell'altra tabella. Per provarlo, ti sono state fornite due tabelle con l'elenco degli attori di due film molto popolari: Iron Man 1 e Iron Man 2. La maggior parte degli attori ha recitato in entrambi i film. Usa un outer join per trovare gli attori che non hanno recitato in entrambi.

La tabella di Iron Man 1 si chiama iron_1_actors, e la tabella di Iron Man 2 si chiama iron_2_actors. Entrambe le tabelle sono già state caricate e sono state stampate alcune righe così puoi vederne la struttura.

Venn graph with no overlap

Questo esercizio fa parte del corso

Unire i dati con pandas

Visualizza il corso

Istruzioni dell'esercizio

  • Salva in iron_1_and_2 il merge di iron_1_actors (left) con iron_2_actors usando un outer join sulla colonna id, e imposta i suffissi a ('_1','_2').
  • Crea un indice che restituisca True se name_1 o name_2 sono null, e False altrimenti.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Merge iron_1_actors to iron_2_actors on id with outer join using suffixes
iron_1_and_2 = iron_1_actors.merge(____,
                                     ____,
                                     ____,
                                     suffixes=____)

# Create an index that returns true if name_1 or name_2 are null
m = ((iron_1_and_2['name_1'].____) | 
     (iron_1_and_2['____'].____))

# Print the first few rows of iron_1_and_2
print(iron_1_and_2[m].head())
Modifica ed esegui il codice