Esegui pandas online

Merge pandas DataFrames

Join two tables on a shared column, just like a SQL join, and choose which rows to keep.

  • Intermedio
  • 2 min di lettura
  • 1 esempio eseguibile
Cosa imparerai
  • merge(on="id")
  • how="inner", "left", "right" and "outer"
  • Handling columns with the same name
merge(on="id")
students
  • 1 Ada
  • 2 Lin
scores
  • 1 → 95
  • 2 → 88
result
  • 1 Ada 95
  • 2 Lin 88

Match rows by a key

I dati collegati tra loro stanno spesso in tabelle diverse, per esempio una con i dati degli studenti e un'altra con i voti. Il metodo merge() combina queste tabelle in base a una colonna comune, in modo simile al JOIN dei database SQL.

Punti chiave

  1. students.merge(scores, on="id") pairs rows with the same id.
  2. The default how="inner" keeps only ids found in both tables.
  3. how="left" keeps every row from the left table.

Quando si usa?

  • Leggere, pulire e trasformare dati in tabella, come file CSV o Excel.
  • Analizzare, calcolare statistiche e riassumere i dati per gruppi.
  • Preparare i dati per report, grafici o modelli di machine learning.

Codice di esempio

Esegui codice →
main.py
import pandas as pd

students = pd.DataFrame({"id": [1, 2], "name": ["Ada", "Lin"]})
scores = pd.DataFrame({"id": [1, 2], "score": [95, 88]})

print(students.merge(scores, on="id"))
Crea un pulsante Run per questo esempio

Risultato dell'esecuzione

id name  score
0   1  Ada     95
1   2  Lin     88

Spiegazione del codice

Il parametro on="id" indica la colonna id come chiave per collegare le due tabelle. Per impostazione predefinita merge() esegue un inner join, cioè tiene solo gli id presenti in entrambe le tabelle e ne unisce le colonne in una tabella di risultato. Prima di unire, conviene controllare il tipo della colonna chiave e gli eventuali valori duplicati per evitare risultati sbagliati.

Modifica i valori ed esegui il programma nel compilatore Python online CodeUtility senza installare Python.

Esercizi di approfondimento

Prova a modificare il codice seguendo i suggerimenti qui sotto. Cambiare il codice e osservare il risultato ti aiuta a capire molto più che leggerlo soltanto.

  1. Aggiungi righe, colonne e qualche valore mancante ai dati di esempio.
  2. Combina filtro, ordinamento e groupby per creare un piccolo report.
  3. Leggi un file di dati reale, controlla il tipo di ogni colonna e gestisci i valori non validi.
Esegui nel compilatore Python →