join() methode
Op basis van een gemeenschappelijke sleutel worden kolommen uit twee dataframes gecombineerd tot één dataframe.
Syntaxis
left_dataframe_name.join(other = right_dataframe_name, lkey = ["left_key_column", "...n"], lcolumns = ["left_column", "...n"], rkey = ["right_key_column", "...n"], rcolumns = ["right_column", "...n"], join_type = "inner"|"left"|"right"|"outer"|"unmatched")
Parameters
Naam | Beschrijving | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
other = right_dataframe_name | De naam van het rechter dataframe. | ||||||||||||||||||
lkey = ["left_key_column", "...n"] |
De sleutelkolom of -kolommen in het linker dataframe. Kolommen worden gebruikt in de volgorde waarin u ze opsomt. Als u op meer dan één kolom combineert, moeten de overeenkomstige kolommen in dezelfde volgorde staan in lkey en rkey. Opmerking Het vergelijken van linker- en rechtersleutelwaarden is hoofdlettergevoelig. Overeenkomende waarden worden alleen als identiek beschouwd als ook hun hoofdlettergebruik identiek is. |
||||||||||||||||||
lcolumns = ["left_column", "...n"] optioneel |
De kolommen uit het linker dataframe die moeten worden opgenomen in het samengevoegde uitvoer-dataframe. Kolommen worden opgenomen in de volgorde waarin u ze opsomt. Als u lcolumns weglaat, worden alle kolommen uit het linker dataframe opgenomen in het samengevoegde uitvoer-dataframe. Als u alle linkerkolommen wilt uitsluiten, geef dan lcolumns = [] op. Opmerking De lkey-kolom of -kolommen worden automatisch opgenomen in het uitvoer-dataframe. U hoeft ze niet opnieuw op te geven in lcolumns. |
||||||||||||||||||
rkey = ["right_key_column", "...n"] |
De sleutelkolom of -kolommen in het rechter dataframe. Kolommen worden gebruikt in de volgorde waarin u ze opsomt. Als u op meer dan één kolom combineert, moeten de overeenkomstige kolommen in dezelfde volgorde staan in rkey en lkey. Opmerking Het vergelijken van linker- en rechtersleutelwaarden is hoofdlettergevoelig. Overeenkomende waarden worden alleen als identiek beschouwd als ook hun hoofdlettergebruik identiek is. |
||||||||||||||||||
rcolumns = ["right_column", "...n"] optioneel |
De kolommen uit het rechter dataframe die in het samengevoegde uitvoer-dataframe moeten worden opgenomen. Kolommen worden opgenomen in de volgorde waarin u ze opsomt. Als u rcolumns weglaat, worden alle kolommen van het rechter dataframe opgenomen in het samengevoegde uitvoer-dataframe. Als u alle rechterkolommen wilt uitsluiten, geef dan rcolumns = [] op. rcolumns wordt genegeerd als u het verbindingstype unmatched gebruikt. Opmerking De rkey-kolom of -kolommen worden automatisch opgenomen in het uitvoer-dataframe. U hoeft ze niet opnieuw op te geven in rcolumns. |
||||||||||||||||||
join_type = "inner" | "left" | "right" | "outer" | "unmatched" optioneel |
Het soort koppeling dat moet worden uitgevoerd. Als u join_type weglaat, wordt standaard een inner join uitgevoerd.
|
Retourneert
HCL-dataframe.
Voorbeelden
Twee dataframes samenvoegen om werknemers te identificeren die mogelijk ook leveranciers zijn
Het onderstaande voorbeeld voegt het employees-dataframe (links) en het vendors-dataframe (rechts) samen met het adres als gemeenschappelijke sleutelkolom (de kolommen Address en Vendor_Street).
De join()-methode maakt een nieuw dataframe met gekoppelde linker- en rechterrijen, wat resulteert in een lijst van medewerkers en leveranciers met hetzelfde adres.
employee_vendor_match = employees.join(other = vendors, lkey = ["Address"], lcolumns = ["Empno", "First", "Last"], rkey = ["Vendor_Street"], rcolumns = ["Vendor_No", "Vendor_Name"], join_type = "inner")
Twee dataframes samenvoegen als een manier om debiteurenregels zonder bijbehorende klant te ontdekken
Het onderstaande voorbeeld voegt het accounts_receivable-dataframe (links) samen met het customers-dataframe (rechts) met behulp van klantnummer (CustNo) als gemeenschappelijke sleutelkolom.
De join()-methode gebruikt het unmatched-koppelingstype om een nieuw dataframe te maken met ongekoppelde linkerrijen, wat resulteert in een lijst met accounts_receivable-rijen die niet zijn gekoppeld aan een customers-rij.
customers_not_found = accounts_receivable.join(other = customers, lkey = ["CustNo"], lcolumns = ["Due", "Amount"], rkey = ["CustNo"], join_type = "unmatched")