Περισσότερα
Εισαγωγή πολλαπλών αρχείων csv στο pandas και συνένωση σε ένα DataFrame
Θα ήθελα να διαβάσω διάφορα αρχεία csv από έναν κατάλογο στο pandas και να τα συνδέσω σε ένα μεγάλο DataFrame. Ωστόσο, δεν έχω καταφέρει να το καταλάβω. Εδώ είναι αυτό που έχω μέχρι στιγμής:
import glob
import pandas as pd
# get data file names
path =r'C:\DRO\DCL_rawdata_files'
filenames = glob.glob(path + "/*.csv")
dfs = []
for filename in filenames:
dfs.append(pd.read_csv(filename))
# Concatenate all data into one DataFrame
big_frame = pd.concat(dfs, ignore_index=True)
Υποθέτω ότι χρειάζομαι κάποια βοήθεια μέσα στο βρόχο for????
315
3
Αν έχετε τις ίδιες στήλες σε όλα τα αρχεία
csv
σας, τότε μπορείτε να δοκιμάσετε τον παρακάτω κώδικα. Έχω προσθέσει τοheader=0
έτσι ώστε μετά την ανάγνωση τουcsv
η πρώτη γραμμή να μπορεί να εκχωρηθεί ως τα ονόματα των στηλών.Μια εναλλακτική λύση στην απάντηση darindaCoder's:
Επεξεργασία: Έψαξα στο Google για να βρω το δρόμο μου προς το https://stackoverflow.com/a/21232849/186078. Ωστόσο, τελευταία βρίσκω ότι είναι πιο γρήγορο να κάνω οποιονδήποτε χειρισμό χρησιμοποιώντας numpy και στη συνέχεια αναθέτοντάς τον μια φορά στο πλαίσιο δεδομένων αντί να χειρίζομαι το ίδιο το πλαίσιο δεδομένων σε επαναληπτική βάση και φαίνεται να λειτουργεί και σε αυτή τη λύση.
Θέλω ειλικρινά όποιος χτυπήσει αυτή τη σελίδα να εξετάσει αυτή την προσέγγιση, αλλά δεν θέλω να επισυνάψω αυτό το τεράστιο κομμάτι κώδικα ως σχόλιο και να το κάνω λιγότερο ευανάγνωστο.
Μπορείτε να αξιοποιήσετε την numpy για να επιταχύνετε πραγματικά τη συνένωση πλαισίων δεδομένων.
Στατιστικά χρονισμού: