Hoe maak je een left join in pandas (met voorbeeld)
U kunt de volgende basissyntaxis gebruiken om een left join in panda’s uit te voeren:
import pandas as pd df1. merge (df2, on=' column_name ', how=' left ')
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: hoe u een left join uitvoert in Pandas
Laten we zeggen dat we de volgende twee panda-dataframes hebben die informatie bevatten over verschillende basketbalteams:
import pandas as pd #createDataFrame df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28]}) df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'G', 'H'], ' assists ': [4, 9, 14, 13, 10, 8]}) #view DataFrames print (df1) team points 0 to 18 1 B 22 2 C 19 3 D 14 4 E 14 5 F 11 6 G 20 7:28 a.m. print (df2) team assists 0 to 4 1 B 9 2 C 14 3 D 13 4G 10 5:8 a.m.
We kunnen de volgende code gebruiken om een left join uit te voeren, waarbij alle rijen uit het eerste DataFrame behouden blijven en alle kolommen worden toegevoegd die overeenkomen op basis van de teamkolom in het tweede DataFrame:
#perform left join
df1. merge (df2, on=' team ', how=' left ')
team points assists
0 to 18 4.0
1 B 22 9.0
2 C 19 14.0
3 D 14 13.0
4 E 14 NaN
5 F 11 NaN
6G 20 10.0
7:28 a.m. 8.0
Elk team in het linker DataFrame ( df1 ) wordt geretourneerd in het samengevoegde DataFrame en alleen rijen in het rechter DataFrame ( df2 ) die overeenkomen met een teamnaam in het linker DataFrame worden geretourneerd.
Houd er rekening mee dat de twee teams in df2 (teams E en F) die niet overeenkomen met een teamnaam in df1 eenvoudigweg een NaN- waarde retourneren in de assists-kolom van het samengevoegde DataFrame.
Merk op dat u pd.merge() ook met de volgende syntaxis kunt gebruiken om exact hetzelfde resultaat te retourneren:
#perform left join
p.d. merge (df1, df2, on=' team ', how=' left ')
team points assists
0 to 18 4.0
1 B 22 9.0
2 C 19 14.0
3 D 14 13.0
4 E 14 NaN
5 F 11 NaN
6G 20 10.0
7:28 a.m. 8.0
Merk op dat dit samengevoegde DataFrame overeenkomt met dat van het vorige voorbeeld.
Let op : U kunt de volledige documentatie voor de samenvoegfunctie hier vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:
Hoe voer je een anti-join uit in Pandas?
Hoe u een inner join uitvoert in Pandas
Hoe u een cross-join uitvoert in Panda’s