Cara Menggabungkan File CSV dengan Python

Cara Menggabungkan File Csv Dengan Python



Terkadang kumpulan data yang diberikan tidak ada dalam satu file CSV. Semuanya ada di lembar Excel yang berbeda. Anda sudah tahu bahwa lebih baik melakukan semua aktivitas komputasi atau prapemrosesan pada satu set data daripada beberapa set data. Ini mengurangi atau menghemat waktu yang kita perlukan untuk mengerjakan tugas-tugas prapemrosesan. Juga, sebagai analis data atau ilmuwan data, Anda mungkin sering menemukan diri Anda kelebihan beban oleh banyak file CSV yang harus digabungkan bahkan sebelum Anda memulai analisis atau pemeriksaan data yang tersedia. Di sisi lain, tidak selalu mungkin bahwa semua file diperoleh dari satu atau sumber data yang sama dan memiliki nama kolom/variabel dan struktur data yang sama. Posting ini akan mengajarkan Anda untuk menggabungkan dua atau lebih file CSV dengan struktur kolom yang sama atau berbeda.

Mengapa Menggabungkan File CSV?

Kumpulan data dapat berupa kumpulan atau kelompok nilai atau angka yang terkait dengan subjek tertentu. Misalnya, hasil tes setiap siswa di kelas tertentu adalah contoh kumpulan data. Karena ukuran kumpulan data yang besar, sering kali disimpan dalam file CSV terpisah untuk berbagai kategori. Misalnya, jika kita diminta untuk memeriksa pasien untuk penyakit tertentu, kita harus mempertimbangkan setiap komponen, termasuk jenis kelamin, rekam medis, usia, tingkat keparahan penyakit, dll. Oleh karena itu, menggabungkan data CSV diperlukan untuk memeriksa berbagai faktor yang mempengaruhi prediktor. aspek. Selain itu, lebih baik bekerja dan mengelola satu set data daripada beberapa set data saat melakukan tugas komputasi atau prapemrosesan. Ini menghemat memori dan sumber daya komputasi lainnya







Bagaimana Cara Menggabungkan File CSV dengan Python?

Ada beberapa cara dan metode untuk menggabungkan dua atau lebih file CSV dengan Python. Pada bagian di bawah ini, kita akan menggunakan fungsi append(), concat(), dan merge(), dll., untuk menggabungkan file CSV ke dalam kerangka data panda kemudian kerangka data akan diubah menjadi satu file CSV. Kami akan mengajarkan cara menggabungkan beberapa file CSV dengan struktur kolom yang serupa atau variabel.



Metode #1: Menggabungkan CSV Dengan Struktur atau Kolom Serupa

Direktori kerja kami saat ini memiliki dua file CSV, 'test1' dan 'test2'.



Contoh # 1: Menggunakan Fungsi append()

Kedua file CSV memiliki struktur yang sama. Fungsi glob() akan digunakan dalam metode ini untuk hanya mencantumkan file CSV di direktori kerja. Kemudian kita akan menggunakan “pandas.DataFrame.append()” untuk membaca file CSV kita (dengan struktur tabel umum).





Keluaran:



Menggunakan fungsi append, kami menambahkan atau menambahkan setiap baris data dari test2.csv di bawah baris data test1.csv, karena dapat dilihat bahwa semua baris data file telah digabungkan. Untuk mengonversi kerangka data ini ke CSV, kita dapat menggunakan fungsi to_csv().

Ini akan membuat file CSV gabungan dari file CSV 'test1' dan 'test2' di direktori kerja kami dengan nama yang ditentukan, yaitu, merged.csv.

Contoh # 2: Menggunakan Fungsi concat()

Kita akan mengimpor modul panda terlebih dahulu. Metode map akan membaca setiap file CSV yang telah kami teruskan menggunakan pd.read_csv(). File yang dipetakan ini (file CSV) kemudian akan digabungkan di sepanjang sumbu baris secara default menggunakan fungsi pd.concat(). Jika kita ingin menggabungkan file CSV secara horizontal, kita dapat meneruskan sumbu=1. Menentukan indeks abaikan = True juga membuat nilai indeks berkelanjutan untuk kerangka data gabungan.

pd.read_csv() diteruskan di dalam fungsi concat() untuk membaca file CSV ke dalam kerangka data panda setelah penggabungan.

Kami telah memperoleh kerangka data dengan data gabungan dari semua file CSV di direktori kerja. Sekarang, mari ubah menjadi file CSV.

CSV gabungan kami dibuat di direktori saat ini.

Metode #2: Menggabungkan CSV Dengan Struktur atau Kolom Yang Berbeda

Kami membahas menggabungkan file CSV dengan kolom dan struktur yang sama pada metode pertama. Dalam metode ini, kami akan menggabungkan file CSV dengan kolom dan struktur yang berbeda.

Contoh # 1: Menggunakan fungsi merge()

Fungsi “pandas.merge()” di modul pandas dapat menggabungkan dua file CSV. Penggabungan merujuk pada menggabungkan dua set data menjadi satu set data berdasarkan kolom atau atribut bersama.

Kami dapat menggabungkan kerangka data dalam empat cara bergabung yang berbeda:

  • Batin
  • Benar
  • Kiri
  • Luar

Untuk melakukan penggabungan jenis ini, kami akan menggunakan dua file CSV.

Perhatikan bahwa setidaknya satu atribut atau kolom harus digunakan bersama oleh kedua file CSV. Seperti yang diamati, kolom 'Nama' dan beberapa atributnya digunakan bersama oleh kedua file CSV.

Merge Menggunakan Inner Join

Menentukan parameter how='inner' dalam fungsi merge() akan menggabungkan dua kerangka data sesuai dengan kolom yang ditentukan, lalu memberikan kerangka data baru yang hanya berisi baris dengan nilai identik/sama di kedua kerangka data asli.

Seperti dapat dilihat bahwa fungsi tersebut telah menggabungkan kedua file CSV dan mengembalikan baris berdasarkan atribut umum kolom 'Nama'.

Menggabungkan Menggunakan Right Outer Join

Saat parameter how='right' ditentukan, kedua kerangka data akan digabungkan berdasarkan kolom yang kami tentukan untuk parameter 'on'. Dan kerangka data baru yang berisi semua baris dari kerangka data kanan, termasuk setiap baris yang kerangka data kirinya tidak berisi nilai, akan dikembalikan, dengan nilai kolom kerangka data kiri disetel ke NAN.

Menggabungkan Menggunakan Left Outer Join

Ketika parameter ditentukan sebagai 'left', kedua kerangka data akan digabungkan berdasarkan kolom yang ditentukan menggunakan parameter 'on', mengembalikan kerangka data baru yang memiliki semua baris dari kerangka data kiri serta baris apa pun yang memiliki NAN atau nilai nol di bingkai data kanan dan setel nilai kolom bingkai data kanan ke NAN.

Merge Menggunakan Full Outer Join

Ketika how='outer' ditentukan, kedua kerangka data akan digabungkan bergantung pada kolom yang ditentukan untuk parameter 'on', mengembalikan kerangka data baru yang berisi baris dari kerangka data df1 dan df2 dan menyetel NAN sebagai nilai untuk setiap baris yang datanya tidak ada di salah satu kerangka data.

Contoh #2: Menggabungkan Semua File CSV di Direktori Kerja

Dalam metode ini, kita akan menggunakan modul glob untuk menggabungkan semua file .csv ke dalam DataFrame panda. Semua perpustakaan harus diimpor terlebih dahulu. Selanjutnya, kita akan mengatur path untuk setiap file CSV yang ingin kita gabungkan. Jalur file adalah argumen pertama untuk fungsi os.path.join() pada contoh di bawah, dan argumen kedua adalah komponen jalur atau file .csv yang akan digabungkan. Di sini, ekspresi '*.csv' akan menemukan dan menampilkan setiap file di direktori kerja yang diakhiri dengan ekstensi file .csv. Fungsi glob.glob(files join) menerima daftar nama file yang digabungkan sebagai input dan menampilkan daftar semua file yang digabungkan/digabungkan.

Skrip ini akan mengembalikan kerangka data dengan data gabungan dari semua file CSV di direktori kerja kami.

Kerangka data ini akan diubah menjadi file CSV, dan fungsi to_csv() akan digunakan untuk konversi ini. File CSV baru ini akan menjadi file CSV gabungan yang dibuat dari semua file CSV yang disimpan di direktori kerja saat ini.

Kesimpulan

Dalam posting ini, kami membahas mengapa kami perlu menggabungkan file CSV. Kami membahas bagaimana dua atau lebih file CSV dapat digabungkan dengan Python. Kami membagi tutorial ini menjadi dua bagian. Di bagian pertama, kami menjelaskan cara menggunakan fungsi append() dan concat() untuk menggabungkan file CSV dari struktur atau nama kolom yang sama. Di bagian kedua, kami menggunakan metode merge(), os.path.join(), dan metode glob untuk menggabungkan file CSV dari berbagai kolom dan struktur.