Hoe u een vlookup uitvoert in panda's


U kunt de volgende basissyntaxis gebruiken om VLOOKUP (vergelijkbaar met Excel) in panda’s uit te voeren:

 p.d. merge (df1,
         df2,
         on = ' column_name ',
         how = ' left ')

Het volgende stapsgewijze voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Stap 1: Maak twee DataFrames

Laten we eerst panda’s importeren en twee panda’s DataFrames maken:

 import pandas as pd

#define first DataFrame
df1 = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E', 'F'],
                    ' team ': ['Mavs', 'Mavs', 'Mavs', 'Mavs', 'Nets', 'Nets']})

#define second DataFrame
df2 = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E', 'F'],
                    ' points ': [22, 29, 34, 20, 15, 19]})

#view df1
print (df1)

  player team
0 A Mavs
1 B Mavs
2C Mavs
3 D Mavs
4 E Nets
5 F Nets

#view df2
print (df2)

  player points
0 to 22
1 B 29
2 C 34
3 D 20
4 E 15
5 F 19

Stap 2: Voer de VERT.ZOEKEN-functie uit

Met de functie VERT.ZOEKEN in Excel kunt u een waarde in een tabel vinden door deze in een kolom te matchen.

De volgende code laat zien hoe je het team van een speler kunt vinden met behulp van pd.merge() om spelersnamen tussen de twee tabellen te matchen en het team van de speler terug te geven:

 #perform VLOOKUP
joined_df = pd. merge (df1,
                     df2,
                     we = ' player ',
                     how = ' left ')

#view results
joined_df

	player team points
0 A Mavs 22
1 B Mavs 29
2 C Mavs 34
3D Mavs 20
4 E Nets 15
5 F Nets 19

Houd er rekening mee dat het resulterende panda’s DataFrame informatie bevat over de speler, zijn team en de gescoorde punten.

U kunt de volledige online documentatie van de pandas merge() -functie hier vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in Python uitvoert:

Hoe u draaitabellen maakt in Python
Hoe de correlatie in Python te berekenen
Hoe percentielen in Python te berekenen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert