Πώς να συνδυάσετε αρχεία CSV στην Python

Pos Na Syndyasete Archeia Csv Sten Python



Μερικές φορές το δεδομένο σύνολο δεδομένων δεν βρίσκεται σε ένα μόνο αρχείο CSV. Είναι όλα σε διαφορετικά φύλλα Excel. Γνωρίζετε ήδη ότι είναι προτιμότερο να εκτελούνται όλες οι δραστηριότητες υπολογισμού ή προεπεξεργασίας σε ένα μόνο σύνολο δεδομένων αντί για πολλά σύνολα δεδομένων. Μειώνει ή εξοικονομεί τον χρόνο που χρειάζεται να αφιερώσουμε σε εργασίες προεπεξεργασίας. Επίσης, ως αναλυτής δεδομένων ή επιστήμονας δεδομένων, μπορεί συχνά να βρεθείτε υπερφορτωμένος από πολλά αρχεία CSV που πρέπει να συγχωνευθούν πριν καν ξεκινήσετε την ανάλυση ή την εξέταση των διαθέσιμων δεδομένων. Από την άλλη πλευρά, δεν είναι πάντα δυνατό όλα τα αρχεία να λαμβάνονται από την ίδια ή την ίδια πηγή δεδομένων και να έχουν τα ίδια ονόματα στηλών/μεταβλητών και τη δομή δεδομένων. Αυτή η ανάρτηση θα σας διδάξει να συνδυάσετε δύο ή περισσότερα αρχεία CSV με παρόμοια ή διαφορετική δομή στηλών.

Γιατί να συνδυάσετε αρχεία CSV;

Ένα σύνολο δεδομένων μπορεί να είναι μια συλλογή ή ομάδα τιμών ή αριθμών που σχετίζονται με ένα συγκεκριμένο θέμα. Για παράδειγμα, τα αποτελέσματα των εξετάσεων κάθε μαθητή σε μια συγκεκριμένη τάξη είναι ένα παράδειγμα ενός συνόλου δεδομένων. Λόγω του μεγέθους των μεγάλων συνόλων δεδομένων, αποθηκεύονται συχνά σε ξεχωριστά αρχεία CSV για διαφορετικές κατηγορίες. Για παράδειγμα, εάν απαιτείται να εξετάσουμε έναν ασθενή για μια συγκεκριμένη ασθένεια, πρέπει να λάβουμε υπόψη κάθε στοιχείο, συμπεριλαμβανομένου του φύλου, του ιατρικού φακέλου, της ηλικίας, της σοβαρότητας της νόσου κ.λπ. Κατά συνέπεια, απαιτείται συνδυασμός δεδομένων CSV για την εξέταση διαφόρων προγνωστικών παραγόντων που επηρεάζουν πτυχές. Επίσης, είναι καλύτερο να εργάζεστε και να διαχειρίζεστε ένα μεμονωμένο σύνολο δεδομένων παρά πολλά σύνολα δεδομένων κατά την εκτέλεση των εργασιών υπολογισμού ή προεπεξεργασίας. Εξοικονομεί μνήμη και άλλους υπολογιστικούς πόρους







Πώς να συνδυάσετε αρχεία CSV στην Python;

Υπάρχουν πολλοί τρόποι και μέθοδοι για να συνδυάσετε δύο ή περισσότερα αρχεία CSV στην Python. Στην παρακάτω ενότητα, θα χρησιμοποιήσουμε τις συναρτήσεις append(), concat() και merge() κ.λπ., για το συνδυασμό αρχείων CSV σε πλαίσιο δεδομένων pandas και στη συνέχεια τα πλαίσια δεδομένων θα μετατραπούν σε ένα ενιαίο αρχείο CSV. Θα διδάξουμε πώς να συνδυάσετε πολλά αρχεία CSV με παρόμοια ή μεταβλητή δομή στηλών.



Μέθοδος # 1: Συνδυασμός CSV με παρόμοιες δομές ή στήλες

Ο τρέχων κατάλογος εργασίας μας έχει δύο αρχεία CSV, 'test1' και 'test2'.



Παράδειγμα # 1: Χρήση της συνάρτησης append().

Και τα δύο αρχεία CSV έχουν την ίδια δομή. Η συνάρτηση glob() θα χρησιμοποιηθεί σε αυτήν τη μέθοδο για τη λίστα μόνο των αρχείων CSV στον κατάλογο εργασίας. Στη συνέχεια, θα χρησιμοποιήσουμε το 'pandas.DataFrame.append()' για να διαβάσουμε τα αρχεία CSV μας (με μια κοινή δομή πίνακα).





Παραγωγή:



Χρησιμοποιώντας τη συνάρτηση προσθήκης, έχουμε προσαρτήσει ή προσθέσει κάθε σειρά δεδομένων από το test2.csv κάτω από τις σειρές δεδομένων του test1.csv, καθώς μπορεί να φανεί ότι όλες οι σειρές δεδομένων του αρχείου έχουν συνδυαστεί. Για να μετατρέψουμε αυτό το πλαίσιο δεδομένων σε CSV, μπορούμε να χρησιμοποιήσουμε τη συνάρτηση to_csv().

Αυτό θα δημιουργήσει ένα συνδυασμένο αρχείο CSV με αρχεία CSV των «test1» και «test2» στον κατάλογο εργασίας μας με το καθορισμένο όνομα, π.χ. merged.csv.

Παράδειγμα # 2: Χρήση συνάρτησης concat().

Θα εισαγάγουμε πρώτα τη μονάδα pandas. Η μέθοδος χάρτη θα διαβάσει κάθε αρχείο CSV που έχουμε περάσει χρησιμοποιώντας το pd.read_csv(). Αυτά τα αντιστοιχισμένα αρχεία (αρχεία CSV) θα συνδυαστούν κατά μήκος του άξονα της σειράς από προεπιλογή χρησιμοποιώντας τη συνάρτηση pd.concat(). Αν θέλουμε να συνδυάσουμε αρχεία CSV οριζόντια, μπορούμε να περάσουμε axis=1. Ο καθορισμός του δείκτη παράβλεψης = True δημιουργεί επίσης συνεχείς τιμές ευρετηρίου για το συνδυασμένο πλαίσιο δεδομένων.

Η pd.read_csv() περνά μέσα στη συνάρτηση concat() για να διαβάσει τα αρχεία CSV στο πλαίσιο δεδομένων pandas μετά τη συνένωση.

Λάβαμε ένα πλαίσιο δεδομένων με συνδυασμένα δεδομένα όλων των αρχείων CSV στον κατάλογο εργασίας. Τώρα, ας το μετατρέψουμε σε αρχείο CSV.

Το συνδυασμένο μας CSV δημιουργείται στον τρέχοντα κατάλογο.

Μέθοδος # 2: Συνδυασμός CSV με διαφορετικές δομές ή στήλες

Συζητήσαμε τον συνδυασμό αρχείων CSV με τις ίδιες στήλες και δομή στην πρώτη μέθοδο. Σε αυτή τη μέθοδο, θα συνδυάσουμε αρχεία CSV με διαφορετικές στήλες και δομές.

Παράδειγμα # 1: Χρήση της συνάρτησης merge().

Η συνάρτηση 'pandas.merge()' στη λειτουργική μονάδα pandas μπορεί να συνδυάσει δύο αρχεία CSV. Η συγχώνευση αναφέρεται απλώς στον συνδυασμό δύο συνόλων δεδομένων σε ένα ενιαίο σύνολο δεδομένων με βάση κοινόχρηστες στήλες ή χαρακτηριστικά.

Μπορούμε να συγχωνεύσουμε πλαίσια δεδομένων με τέσσερις διαφορετικούς τρόπους σύνδεσης:

  • Εσωτερικός
  • σωστά
  • Αριστερά
  • Εξωτερικός

Για να εκτελέσουμε αυτούς τους τύπους συγχωνεύσεων, θα χρησιμοποιήσουμε δύο αρχεία CSV.

Λάβετε υπόψη ότι τουλάχιστον ένα χαρακτηριστικό ή στήλη πρέπει να είναι κοινόχρηστο και από τα δύο αρχεία CSV. Όπως παρατηρήθηκε, η στήλη 'Όνομα' και ορισμένα από τα χαρακτηριστικά της κοινοποιούνται και στα δύο αρχεία CSV.

Συγχώνευση με χρήση εσωτερικής σύνδεσης

Ο καθορισμός της παραμέτρου how='inner' στη συνάρτηση συγχώνευσης() θα συνδυάσει τα δύο πλαίσια δεδομένων σύμφωνα με την καθορισμένη στήλη και στη συνέχεια θα παρέχει ένα νέο πλαίσιο δεδομένων που περιέχει μόνο τις σειρές με ίδιες/ίδιες τιμές και στα δύο αρχικά πλαίσια δεδομένων.

Όπως φαίνεται ότι η συνάρτηση έχει συγχωνεύσει και τα δύο αρχεία CSV και επέστρεψε τις σειρές με βάση τα κοινά χαρακτηριστικά της στήλης «Όνομα».

Συγχώνευση με χρήση του δεξιού εξωτερικού συνδέσμου

Όταν καθορίζεται η παράμετρος How='right', και τα δύο πλαίσια δεδομένων θα συνδυαστούν με βάση τη στήλη που καθορίσαμε για την παράμετρο 'on'. Και ένα νέο πλαίσιο δεδομένων που περιέχει όλες τις σειρές από το δεξιό πλαίσιο δεδομένων, συμπεριλαμβανομένων τυχόν σειρών για τις οποίες το αριστερό πλαίσιο δεδομένων δεν περιέχει τιμές, θα επιστραφεί, με την τιμή στήλης του αριστερού πλαισίου δεδομένων να έχει οριστεί σε NAN.

Συγχώνευση χρησιμοποιώντας την αριστερή εξωτερική ένωση

Όταν η παράμετρος καθορίζεται ως 'αριστερά', τα δύο πλαίσια δεδομένων θα συνδυαστούν με βάση την καθορισμένη στήλη χρησιμοποιώντας την παράμετρο 'on', επιστρέφοντας ένα νέο πλαίσιο δεδομένων που έχει όλες τις σειρές από το αριστερό πλαίσιο δεδομένων, καθώς και οποιεσδήποτε σειρές που έχουν NAN ή μηδενικές τιμές στο σωστό πλαίσιο δεδομένων και ορίζει την τιμή της δεξιάς στήλης πλαισίου δεδομένων σε NAN.

Συγχώνευση με χρήση πλήρους εξωτερικής σύνδεσης

Όταν καθορίζεται how='outer', τα δύο πλαίσια δεδομένων θα συνδυαστούν ανάλογα με τη στήλη που καθορίζεται για την παράμετρο 'on', επιστρέφοντας ένα νέο πλαίσιο δεδομένων που περιέχει τις σειρές από τα πλαίσια δεδομένων df1 και df2 και ορίζοντας το NAN ως τιμή για οποιεσδήποτε σειρές για τα οποία δεν υπάρχουν δεδομένα σε ένα από τα πλαίσια δεδομένων.

Παράδειγμα # 2: Συνδυασμός όλων των αρχείων CSV στον Κατάλογο εργασίας

Σε αυτήν τη μέθοδο, θα χρησιμοποιήσουμε τη μονάδα glob για να συνδυάσουμε όλα τα αρχεία .csv σε ένα pandas DataFrame. Όλες οι βιβλιοθήκες έπρεπε να εισαχθούν πρώτα. Στη συνέχεια, θα ορίσουμε μια διαδρομή για κάθε αρχείο CSV που θέλουμε να συνδυάσουμε. Η διαδρομή αρχείου είναι το πρώτο όρισμα για τη συνάρτηση os.path.join() στο παρακάτω παράδειγμα και το δεύτερο όρισμα είναι είτε τα στοιχεία διαδρομής είτε τα αρχεία .csv που πρέπει να ενωθούν. Εδώ, η έκφραση '*.csv' θα βρει και θα επιστρέψει κάθε αρχείο στον εργαζόμενο κατάλογο που  τελειώνει με την επέκταση αρχείου .csv. Η συνάρτηση glob.glob(files joined) δέχεται μια λίστα με τα ονόματα των συγχωνευμένων αρχείων ως είσοδο και εξάγει μια λίστα με όλα τα συγχωνευμένα/συνδυασμένα αρχεία.

Αυτό το σενάριο θα επιστρέψει ένα πλαίσιο δεδομένων με συνδυασμένα δεδομένα όλων των αρχείων CSV στον κατάλογο εργασίας μας.

Αυτό το πλαίσιο δεδομένων θα μετατραπεί σε αρχείο CSV και η συνάρτηση to_csv() θα χρησιμοποιηθεί για αυτήν τη μετατροπή. Αυτό το νέο αρχείο CSV θα είναι τα συνδυασμένα αρχεία CSV που δημιουργούνται από όλα τα αρχεία CSV που είναι αποθηκευμένα στον τρέχοντα κατάλογο εργασίας.

συμπέρασμα

Σε αυτήν την ανάρτηση, συζητήσαμε γιατί πρέπει να συνδυάσουμε αρχεία CSV. Συζητήσαμε πώς δύο ή περισσότερα αρχεία CSV μπορούν να συνδυαστούν στην Python. Χωρίσαμε αυτό το σεμινάριο σε δύο ενότητες. Στην πρώτη ενότητα, εξηγήσαμε πώς να χρησιμοποιήσετε τις συναρτήσεις append() και concat() για να συνδυάσετε αρχεία CSV της ίδιας δομής ή ονομάτων στηλών. Στη δεύτερη ενότητα, χρησιμοποιήσαμε τη μέθοδο merge(), os.path.join() και τη μέθοδο glob για το συνδυασμό αρχείων CSV διαφορετικών στηλών και δομών.