Λύθηκε: τα πάντα ενώνονται μη μοναδικά

Το Pandas είναι μια ευρέως χρησιμοποιούμενη βιβλιοθήκη Python στον τομέα του χειρισμού και της ανάλυσης δεδομένων. Παρέχει δομές δεδομένων και λειτουργίες που απαιτούνται για την απρόσκοπτη εργασία με δομημένα δεδομένα. Μία από τις πολλές δυνατότητες που προσφέρει είναι η δυνατότητα σύνδεσης πινάκων με μη μοναδικά κλειδιά, κάτι που μπορεί να είναι μια κοινή απαίτηση σε πρακτικές εφαρμογές. Σε αυτό το άρθρο, θα εξετάσουμε τη λύση αυτού του προβλήματος, θα εξερευνήσουμε την εξήγηση βήμα προς βήμα του κώδικα που χρησιμοποιείται για τη σύνδεση αντικειμένων DataFrame panda με μη μοναδικά κλειδιά και θα συζητήσουμε τις βιβλιοθήκες και τις λειτουργίες που εμπλέκονται σε αυτήν τη διαδικασία.

Εισαγωγή

Η ένωση πινάκων είναι μια θεμελιώδης λειτουργία που εκτελείται σε εργασίες χειρισμού και ανάλυσης δεδομένων. Σε ορισμένα σενάρια, μπορεί να μας ζητηθεί να ενώσουμε πίνακες σε ένα μη μοναδικό κλειδί, το οποίο μπορεί να παρουσιάζει προκλήσεις. Ωστόσο, η συνεργασία με την πανίσχυρη βιβλιοθήκη Python, τα panda, μας επιτρέπει να λύσουμε κομψά αυτό το πρόβλημα χρησιμοποιώντας την ευέλικτη λειτουργικότητά της.

Σύνδεση Pandas DataFrames με μη μοναδικά κλειδιά

Για να συμμετάσχουμε σε DataFrames στα panda, μπορούμε να χρησιμοποιήσουμε τη συνάρτηση `merge()`, η οποία υποστηρίζει τη σύνδεση σε μη μοναδικά κλειδιά. Ωστόσο, είναι σημαντικό να κατανοήσουμε ότι το αποτέλεσμα της σύνδεσης μη μοναδικών κλειδιών μπορεί να είναι διαφορετικό από το αναμενόμενο, καθώς μπορεί να οδηγήσει σε καρτεσιανό προϊόν, με πιθανώς αποτέλεσμα σημαντική αύξηση του αριθμού των σειρών στο DataFrame που προκύπτει.

Ακολουθεί ο οδηγός βήμα προς βήμα για τη χρήση της συνάρτησης `συγχώνευση()` για τη σύνδεση DataFrames με μη μοναδικά κλειδιά:

import pandas as pd

# Create sample DataFrames
df1 = pd.DataFrame({"key": ["A", "B", "A", "C"], "value": [1, 2, 3, 4]})
df2 = pd.DataFrame({"key": ["A", "B", "A", "D"], "value2": [5, 6, 7, 8]})

# Perform the merge operation
result = df1.merge(df2, on="key", how="inner")

Στο παραπάνω παράδειγμα, εισάγουμε πρώτα τη βιβλιοθήκη pandas και δημιουργούμε δύο δείγματα DataFrames (df1 και df2). Στη συνέχεια, χρησιμοποιούμε τη συνάρτηση `merge()` για να ενώσουμε τα DataFrames στη στήλη «κλειδί», η οποία περιέχει μη μοναδικές τιμές (τα Α και Β επαναλαμβάνονται). Η παράμετρος «πώς» έχει οριστεί σε «εσωτερικό», καθώς θέλουμε να διατηρήσουμε μόνο τις σειρές που έχουν ταιριαστά κλειδιά και στα δύο DataFrame.

Κατανόηση της συνάρτησης συγχώνευσης Pandas

Η συνάρτηση `merge()` στα panda είναι ένα πολύ ισχυρό και ευέλικτο εργαλείο για την εκτέλεση λειτουργιών σύνδεσης πινάκων. Εκτός από τη σύνδεση των DataFrames με μη μοναδικά κλειδιά, υποστηρίζει διάφορα επίπεδα προσαρμογής, επιτρέποντάς σας να έχετε τον πλήρη έλεγχο του DataFrame που προκύπτει.

Η συνάρτηση `merge()` έχει αρκετές σημαντικές παραμέτρους όπως:

  • αριστερά και δεξιά: Αυτά είναι τα DataFrames προς συγχώνευση.
  • on: Οι στήλες που πρέπει να χρησιμοποιηθούν για τη σύνδεση των DataFrames. Αυτό μπορεί να είναι ένα όνομα μίας στήλης ή μια λίστα ονομάτων στηλών κατά τη σύνδεση σε πολλές στήλες.
  • πως: Καθορίζει τον τύπο της ένωσης που θα εκτελεστεί. Οι επιλογές περιλαμβάνουν «αριστερά», «δεξιά», «εξωτερικά» και «εσωτερικά». Η προεπιλογή είναι «εσωτερική».
  • επίθημα: Πρόκειται για μια πλειάδα επιθημάτων συμβολοσειρών για εφαρμογή στις επικαλυπτόμενες στήλες. Το προεπιλεγμένο επίθημα είναι _x για το αριστερό DataFrame και _y για το δεξί DataFrame.

Αυτές οι παράμετροι μπορούν να τροποποιηθούν ανάλογα με τις ανάγκες σας για να εκτελέσετε διάφορους τύπους λειτουργιών σύνδεσης και να προσαρμόσετε την έξοδο.

Παρόμοιες λειτουργίες στα Pandas

Εκτός από τη συνάρτηση «merge()», τα panda προσφέρουν επίσης και άλλες λειτουργίες για το συνδυασμό DataFrames με διαφορετικούς τρόπους, όπως:

  • concat(): Αυτή η συνάρτηση χρησιμοποιείται για τη συνένωση DataFrames κατά μήκος ενός συγκεκριμένου άξονα. Μπορείτε να ελέγξετε τη συνένωση καθορίζοντας διάφορες παραμέτρους όπως άξονας, ένωση και πλήκτρα.
  • Συμμετοχή(): Αυτή είναι μια βολική μέθοδος διαθέσιμη σε αντικείμενα DataFrame για την εκτέλεση λειτουργιών σύνδεσης. Είναι ουσιαστικά ένα περιτύλιγμα γύρω από τη συνάρτηση merge(), με το αριστερό DataFrame να θεωρείται ως το DataFrame καλούντος.

Συμπερασματικά, χρησιμοποιώντας τη συνάρτηση pandas `merge()`, μπορείτε εύκολα να ενώσετε DataFrames με μη μοναδικά κλειδιά. Το πλούσιο σύνολο παραμέτρων που είναι διαθέσιμο στη συνάρτηση «συγχώνευση()» προσφέρει πλήρη έλεγχο της διαδικασίας σύνδεσης, καλύπτοντας διάφορες απαιτήσεις χειρισμού δεδομένων. Η βιβλιοθήκη pandas εξακολουθεί να είναι ένα απαραίτητο εργαλείο για τους αναλυτές δεδομένων και προσφέρει διάφορες άλλες λειτουργίες για τον αποτελεσματικό συνδυασμό και χειρισμό DataFrames.

Σχετικές αναρτήσεις:

Αφήστε ένα σχόλιο