Pandas DataFrame ist eine zweidimensionale Datenstruktur (2D), die in einem tabellarischen Format ausgerichtet ist. Diese Datenrahmen können unter Verwendung verschiedener Methoden wie concat (), merge () und vereint kombiniert werden. Pandas haben eine hohe Leistung und vollständige gemeinsame Operationen, die mit der SQL Relational Database ähneln. Die Verwendung der Merge -Funktion kann zwischen DataFrames -Objekten implementiert werden.
Wir werden in diesem Artikel die Verwendung der Zusammenführungsfunktion, der Konzernfunktion und der verschiedenen Arten von Verbindungsoperationen in Pandas Python untersuchen. Alle Beispiele werden über den Pycharm -Editor ausgeführt. Beginnen wir mit den Details!
Verwendung der Zusammenführungsfunktion
Die häufig verwendete Basis-Syntax von merge () -Funktionen ist ein Belastung:
PD.merge (df_obj1, df_obj2, wie = 'innere', auf = none, links_on = none, right_on = none)
Erläutern wir die Details der Parameter:
Die ersten zwei df_obj1 Und DF_OBJ2 Argumente sind die Namen der DataFrame -Objekte oder -Tabellen.
Der "Wie"Parameter wird für verschiedene Arten von Join -Operationen wie" Links, rechts, äußeres und innere "verwendet. Die Zusammenführungsfunktion verwendet standardmäßig den „inneren“ Join -Betrieb.
Das Argument "An" Enthält den Spaltennamen, für den die Join -Operation durchgeführt wird. Diese Spalte muss in beiden DataFrame -Objekten vorhanden sein.
In den Argumenten "Left_on" und "Right_on" ist "Left_on" der Name des Spaltennamens als Schlüssel im linken Datenrahmen. Das "right_on" ist der Name der Spalte, die als Schlüssel aus dem rechten Datenrahmen verwendet wird.
Um das Konzept des Beitritts von DataFrames zu erläutern, haben wir zwei DataFrame-Objekte- Produkte und Kunde genommen. Die folgenden Details finden Sie im Produktdatenrahmen:
Produkt = PD.DataFrame (
'Product_id': [101,102,103,104,105,106,107],
"Product_name": ["Kopfhörer", "Bag", "Schuhe", "Smartphone", "Zähnepinsel", "Armbanduhr", "Laptop"],
"Kategorie": ["Elektronik", "Mode", "Mode", "Elektronik", "Lebensmittelgeschäft", "Mode", "Elektronik"],
'Preis': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
"Seller_City": ["Islamabad", "Lahore", "Karachi", "Rawalpindi", "Islamabad", "Karachi", "Faisalabad"]
)
Der Kundendatenrahmen enthält die folgenden Details:
Kunde = PD.DataFrame (
'Id': [1,2,3,4,5,6,7,8,9],
"Customer_Name": ["Sara", "Sana", "Ali", "Raees", "Mahwish", "Umar", "Mirha", "Asif", "Maria"],
'Alter': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Protous_purchased': ['Kopfhörer', 'na', 'Armband Uhr', 'na', 'Schuhe', 'Smartphone', 'Na', 'Na', 'Laptop'],
"Customer_City": ["Lahore", "Islamabad", "Faisalabad", "Karachi", "Karachi", "Islamabad", "Rawalpindi", "Islamabad",
'Lahore']
)
Schließen Sie DataFrames mit einem Schlüssel an
Wir können leicht online verkaufte Produkte finden und die Kunden, die sie gekauft haben. Basierend auf einem Schlüssel „product_id“ haben wir auf beiden Datenfaktoren wie folgt den inneren Join -Betrieb durchgeführt:
# Pandas Library importieren
Pandas als PD importieren
Produkt = PD.DataFrame (
'Product_id': [101,102,103,104,105,106,107],
"Product_name": ["Kopfhörer", "Bag", "Schuhe", "Smartphone", "Zähnepinsel", "Armbanduhr", "Laptop"],
"Kategorie": ["Elektronik", "Mode", "Mode", "Elektronik", "Lebensmittelgeschäft", "Mode", "Elektronik"],
'Preis': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
"Seller_City": ["Islamabad", "Lahore", "Karachi", "Rawalpindi", "Islamabad", "Karachi", "Faisalabad"]
)
Kunde = PD.DataFrame (
'Id': [1,2,3,4,5,6,7,8,9],
"Customer_Name": ["Sara", "Sana", "Ali", "Raees", "Mahwish", "Umar", "Mirha", "Asif", "Maria"],
'Alter': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Protous_purchased': ['Kopfhörer', 'na', 'Armband Uhr', 'na', 'Schuhe', 'Smartphone', 'Na', 'Na', 'Laptop'],
"Stadt": ["Lahore", "Islamabad", "Faisalabad", "Karachi", "Karachi", "Islamabad", "Rawalpindi", "Islamabad",
'Lahore']
)
Druck (PD.Zusammenführen (Produkt, Kunde, auf = 'product_id'))
Die folgende Ausgabe wird nach dem Ausführen des obigen Code im Fenster angezeigt:
Wenn die Spalten in beiden Datenrahmen unterschiedlich sind, schreiben Sie den Namen jeder Spalte explizit nach den Argumenten links_on und right_on wie folgt:
Pandas als PD importieren
Produkt = PD.DataFrame (
'Product_id': [101,102,103,104,105,106,107],
"Product_name": ["Kopfhörer", "Bag", "Schuhe", "Smartphone", "Zähnepinsel", "Armbanduhr", "Laptop"],
"Kategorie": ["Elektronik", "Mode", "Mode", "Elektronik", "Lebensmittelgeschäft", "Mode", "Elektronik"],
'Preis': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
"Seller_City": ["Islamabad", "Lahore", "Karachi", "Rawalpindi", "Islamabad", "Karachi", "Faisalabad"]
)
Kunde = PD.DataFrame (
'Id': [1,2,3,4,5,6,7,8,9],
"Customer_Name": ["Sara", "Sana", "Ali", "Raees", "Mahwish", "Umar", "Mirha", "Asif", "Maria"],
'Alter': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Protous_purchased': ['Kopfhörer', 'na', 'Armband Uhr', 'na', 'Schuhe', 'Smartphone', 'Na', 'Na', 'Laptop'],
"Stadt": ["Lahore", "Islamabad", "Faisalabad", "Karachi", "Karachi", "Islamabad", "Rawalpindi", "Islamabad",
'Lahore']
)
Druck (PD.Merge (Produkt, Kunde, Left_on = 'product_name', right_on = 'product_purchased'))
Die folgende Ausgabe wird auf dem Bildschirm angezeigt:
Verbinden Sie Datenrahmen mit wie Argument
In den folgenden Beispielen erläutern wir vier Arten von Verbindungsvorgängen auf PANDAS -Datenframes:
- Innerer Join
- Äußerer Join
- Links Join
- Right Join
Innere mit Pandas miteinander verbunden
Wir können einen inneren Join auf mehreren Schlüssel durchführen. Um weitere Details über die Produktverkäufe anzuzeigen, nehmen. Implementieren Sie die folgenden Codezeilen:
# Pandas Library importieren
Pandas als PD importieren
Produkt = PD.DataFrame (
'Product_id': [101,102,103,104,105,106,107],
"Product_name": ["Kopfhörer", "Bag", "Schuhe", "Smartphone", "Zähnepinsel", "Armbanduhr", "Laptop"],
"Kategorie": ["Elektronik", "Mode", "Mode", "Elektronik", "Lebensmittelgeschäft", "Mode", "Elektronik"],
'Preis': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
"Seller_City": ["Islamabad", "Lahore", "Karachi", "Rawalpindi", "Islamabad", "Karachi", "Faisalabad"]
)
Kunde = PD.DataFrame (
'Id': [1,2,3,4,5,6,7,8,9],
"Customer_Name": ["Sara", "Sana", "Ali", "Raees", "Mahwish", "Umar", "Mirha", "Asif", "Maria"],
'Alter': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Protous_purchased': ['Kopfhörer', 'na', 'Armband Uhr', 'na', 'Schuhe', 'Smartphone', 'Na', 'Na', 'Laptop'],
"Customer_City": ["Lahore", "Islamabad", "Faisalabad", "Karachi", "Karachi", "Islamabad", "Rawalpindi", "Islamabad",
'Lahore']
)
Druck (PD.Merge (Produkt, Kunde, How = 'Inner', Left_on = ['product_id', 'seller_city'], right_on = ['product_id', 'customer_city'])))
Das folgende Ergebnis zeigt im Fenster nach dem Ausführen des obigen Codes angezeigt:
Voll/äußere Beitritt in Pandas
Die äußeren Zusammenhänge geben sowohl die rechten als auch die linken Datenfrequenzwerte zurück, die entweder Übereinstimmungen haben. Um den äußeren Join zu implementieren, setzen Sie das „Wie“ -Argument als äußere fest. Ändern wir das obige Beispiel, indem wir das äußere Join -Konzept verwenden. Im folgenden Code werden alle Werte sowohl der linken als auch der rechten Datenrahmen zurückgegeben.
# Pandas Library importieren
Pandas als PD importieren
Produkt = PD.DataFrame (
'Product_id': [101,102,103,104,105,106,107],
"Product_name": ["Kopfhörer", "Bag", "Schuhe", "Smartphone", "Zähnepinsel", "Armbanduhr", "Laptop"],
"Kategorie": ["Elektronik", "Mode", "Mode", "Elektronik", "Lebensmittelgeschäft", "Mode", "Elektronik"],
'Preis': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
"Seller_City": ["Islamabad", "Lahore", "Karachi", "Rawalpindi", "Islamabad", "Karachi", "Faisalabad"]
)
Kunde = PD.DataFrame (
'Id': [1,2,3,4,5,6,7,8,9],
"Customer_Name": ["Sara", "Sana", "Ali", "Raees", "Mahwish", "Umar", "Mirha", "Asif", "Maria"],
'Alter': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Protous_purchased': ['Kopfhörer', 'na', 'Armband Uhr', 'na', 'Schuhe', 'Smartphone', 'Na', 'Na', 'Laptop'],
"Customer_City": ["Lahore", "Islamabad", "Faisalabad", "Karachi", "Karachi", "Islamabad", "Rawalpindi", "Islamabad",
'Lahore']
)
Druck (PD.Merge (Produkt, Kunde, auf = 'product_id', wie = 'äußere'))
Legen Sie das Indikatorargument als „wahr“ s ein. Sie werden feststellen, dass die neue Spalte "_Merge" am Ende hinzugefügt wird.
# Pandas Library importieren
Pandas als PD importieren
Produkt = PD.DataFrame (
'Product_id': [101,102,103,104,105,106,107],
"Product_name": ["Kopfhörer", "Bag", "Schuhe", "Smartphone", "Zähnepinsel", "Armbanduhr", "Laptop"],
"Kategorie": ["Elektronik", "Mode", "Mode", "Elektronik", "Lebensmittelgeschäft", "Mode", "Elektronik"],
'Preis': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
"Seller_City": ["Islamabad", "Lahore", "Karachi", "Rawalpindi", "Islamabad", "Karachi", "Faisalabad"]
)
Kunde = PD.DataFrame (
'Id': [1,2,3,4,5,6,7,8,9],
"Customer_Name": ["Sara", "Sana", "Ali", "Raees", "Mahwish", "Umar", "Mirha", "Asif", "Maria"],
'Alter': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Protous_purchased': ['Kopfhörer', 'na', 'Armband Uhr', 'na', 'Schuhe', 'Smartphone', 'Na', 'Na', 'Laptop'],
"Customer_City": ["Lahore", "Islamabad", "Faisalabad", "Karachi", "Karachi", "Islamabad", "Rawalpindi", "Islamabad",
'Lahore']
)
Druck (PD.Merge (Produkt, Kunde, auf = 'product_id', wie = 'äußere', Indicator = true))
Wie Sie im folgenden Screenshot sehen können, erläutern die Spaltenwerte für Merge.
Links kommen bei Pandas
Links Join Nur Zeilen des linken Datenframe. Es ähnelt dem äußeren Join. Ändern Sie also den "Wie" -Argumentwert mit "links". Probieren Sie den folgenden Code aus, um die Idee des linken Join zu implementieren:
# Pandas Library importieren
Pandas als PD importieren
Produkt = PD.DataFrame (
'Product_id': [101,102,103,104,105,106,107],
"Product_name": ["Kopfhörer", "Bag", "Schuhe", "Smartphone", "Zähnepinsel", "Armbanduhr", "Laptop"],
"Kategorie": ["Elektronik", "Mode", "Mode", "Elektronik", "Lebensmittelgeschäft", "Mode", "Elektronik"],
'Preis': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
"Seller_City": ["Islamabad", "Lahore", "Karachi", "Rawalpindi", "Islamabad", "Karachi", "Faisalabad"]
)
Kunde = PD.DataFrame (
'Id': [1,2,3,4,5,6,7,8,9],
"Customer_Name": ["Sara", "Sana", "Ali", "Raees", "Mahwish", "Umar", "Mirha", "Asif", "Maria"],
'Alter': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Protous_purchased': ['Kopfhörer', 'na', 'Armband Uhr', 'na', 'Schuhe', 'Smartphone', 'Na', 'Na', 'Laptop'],
"Customer_City": ["Lahore", "Islamabad", "Faisalabad", "Karachi", "Karachi", "Islamabad", "Rawalpindi", "Islamabad",
'Lahore']
)
Druck (PD.Merge (Produkt, Kunde, auf = 'product_id', wie = 'links'))
Richtig mit Pandas mitmachen
Der richtige Jou. In diesem Fall wird das Argument "Wie" als "richtiger" Wert festgelegt. Führen Sie den folgenden Code aus, um das richtige Join -Konzept zu implementieren:
# Pandas Library importieren
Pandas als PD importieren
Produkt = PD.DataFrame (
'Product_id': [101,102,103,104,105,106,107],
"Product_name": ["Kopfhörer", "Bag", "Schuhe", "Smartphone", "Zähnepinsel", "Armbanduhr", "Laptop"],
"Kategorie": ["Elektronik", "Mode", "Mode", "Elektronik", "Lebensmittelgeschäft", "Mode", "Elektronik"],
'Preis': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
"Seller_City": ["Islamabad", "Lahore", "Karachi", "Rawalpindi", "Islamabad", "Karachi", "Faisalabad"]
)
Kunde = PD.DataFrame (
'Id': [1,2,3,4,5,6,7,8,9],
"Customer_Name": ["Sara", "Sana", "Ali", "Raees", "Mahwish", "Umar", "Mirha", "Asif", "Maria"],
'Alter': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Protous_purchased': ['Kopfhörer', 'na', 'Armband Uhr', 'na', 'Schuhe', 'Smartphone', 'Na', 'Na', 'Laptop'],
"Customer_City": ["Lahore", "Islamabad", "Faisalabad", "Karachi", "Karachi", "Islamabad", "Rawalpindi", "Islamabad",
'Lahore']
)
Druck (PD.Merge (Produkt, Kunde, auf = 'product_id', wie = 'rechts'))
Im folgenden Screenshot können Sie das Ergebnis nach dem Ausführen des obigen Codes sehen:
Verbinden von Datenrahmen mithilfe der Funktion concat ()
Zwei Datenrahmen können mithilfe der CONCAT -Funktion verbunden werden. Die grundlegende Syntax der Verkettungsfunktion ist unten angegeben:
PD.concat ([df_obj1, df_obj_2])))
Zwei Datenrahmenobjekte werden als Argumente geleitet.
Lassen Sie uns sowohl DataFrames -Produkt als auch Kunden über die CONCAT -Funktion anschließen. Führen Sie die folgenden Codezeilen aus, um zwei Datenrahmen beizutragen:
# Pandas Library importieren
Pandas als PD importieren
Produkt = PD.DataFrame (
'Product_id': [101,102,103,104,105,106,107],
"Product_name": ["Kopfhörer", "Bag", "Schuhe", "Smartphone", "Zähnepinsel", "Armbanduhr", "Laptop"],
"Kategorie": ["Elektronik", "Mode", "Mode", "Elektronik", "Lebensmittelgeschäft", "Mode", "Elektronik"],
'Preis': [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
"Seller_City": ["Islamabad", "Lahore", "Karachi", "Rawalpindi", "Islamabad", "Karachi", "Faisalabad"]
)
Kunde = PD.DataFrame (
'Id': [1,2,3,4,5,6,7,8,9],
"Customer_Name": ["Sara", "Sana", "Ali", "Raees", "Mahwish", "Umar", "Mirha", "Asif", "Maria"],
'Alter': [20,21,15,10,31,52,15,18,16],
'Product_id': [101,0,106,0,103,104,0,0,107],
'Protous_purchased': ['Kopfhörer', 'na', 'Armband Uhr', 'na', 'Schuhe', 'Smartphone', 'Na', 'Na', 'Laptop'],
"Customer_City": ["Lahore", "Islamabad", "Faisalabad", "Karachi", "Karachi", "Islamabad", "Rawalpindi", "Islamabad",
'Lahore']
)
Druck (PD.concat ([Produkt, Kunde]))
Abschluss:
In diesem Artikel haben wir die Implementierung von Merge () -Funktion, concat () Funktionen erörtert und die Operation in Pandas Python beigetragen. Mit den oben genannten Methoden können Sie problemlos zwei Datenrahmen zusammenschließen und gelernt haben. So implementieren Sie die Join -Operationen „inner, äußerlich, links und rechts“ in Pandas. Hoffentlich wird dieses Tutorial Sie bei der Implementierung der Join -Operationen auf verschiedenen Arten von Datenrahmen veranlassen. Bitte teilen Sie uns Ihre Schwierigkeiten bei einem Fehler mit.