Kenapa dan untuk siapa ?
Pandas itu penting banget buat siapa pun yang mau mengelola data dengan cepat dan efisien di Python. Buat banyak orang yang biasa kerja dengan data, seperti data engineer atau data analyst, Pandas jadi solusi serbaguna yang bisa menangani banyak hal—mulai dari seleksi data, menggabungkan, sampai visualisasi, semua bisa dilakukan dengan sekali kode. Keunggulan lain, Pandas bisa baca data dari banyak format seperti file CSV, Excel, bahkan bisa langsung dari database. Jadi, kalau biasanya kita melakukan pekerjaan ini di SQL, sekarang bisa disederhanakan di Pandas.
Blog ini ditujukan untuk yang udah paham dasar-dasar SQL dan tertarik memulai analisis data pakai Pandas. Dengan dasar SQL, pasti lebih gampang paham cara kerja Pandas, karena konsepnya cukup mirip, sama-sama bekerja dengan data berbentuk tabel. Pandas malah lebih fleksibel dan sering kali lebih cepat buat hal-hal kompleks yang mungkin di SQL harus pakai query yang ribet. Intinya, kalau sudah biasa pakai SQL, belajar Pandas bakal lebih mulus dan bisa bikin banyak hal jadi lebih praktis.
Di blog ini, kita bakal bahas langkah-langkah sederhana buat mulai pakai Pandas, dengan perbandingan langsung sama SQL. Dari mulai baca data, pilih kolom, sampai menggabungkan tabel, semuanya dijelasin buat bikin pengalaman belajar Pandas ini jadi lancar. Jadi, buat siapa pun yang punya basic SQL dan mau explore cara baru buat kelola data, blog ini pas banget buat memulai.
Kerangka bekerja
Dalam Pandas, setiap DataFrame yang dibuat bisa dibayangkan seperti sebuah tabel di SQL, lengkap dengan baris dan kolom. Struktur DataFrame ini memudahkan kita dalam memvisualisasikan data, terutama bagi yang sudah terbiasa bekerja dengan tabel di SQL. Data dalam setiap kolom bisa terdiri dari berbagai tipe, seperti angka, teks, atau tanggal, yang membuat DataFrame menjadi format yang fleksibel untuk berbagai jenis analisis.
DataFrame tidak hanya tentang struktur, tetapi juga tentang kemampuannya dalam pemrosesan data dalam skala besar. Sama seperti pemrosesan batch dalam SQL, Pandas memungkinkan kita melakukan operasi pada banyak baris data sekaligus. Kita bisa melakukan pemilihan kolom tertentu, memfilter baris berdasarkan kondisi, hingga melakukan agregasi—semuanya dalam sekali pemanggilan kode. Hal ini membuat Pandas menjadi sangat efisien untuk mengelola data dalam jumlah besar tanpa harus melakukan manipulasi data per baris.
Dengan DataFrame, kita bisa menerapkan berbagai macam transformasi dan pembersihan data. Misalnya, mengisi nilai kosong, mengganti tipe data, atau menghitung kolom baru berdasarkan data yang ada. Semua proses ini bisa dilakukan dalam satu kerangka kerja, yang sangat membantu ketika bekerja dengan data secara batch. Pandas menyediakan pendekatan yang terstruktur, tapi tetap fleksibel, untuk setiap tahap pengelolaan data—dari membaca, membersihkan, hingga menyimpan data kembali dalam format yang diinginkan.
Membuat dataframe
1. Membuat DataFrame dari SQL Database
Jika kita sudah memiliki data di database SQL, Pandas memungkinkan kita untuk mengimpor data langsung dari database tersebut. Pertama, kita perlu koneksi ke database, lalu menjalankan query SQL menggunakan Pandas untuk mengimpor data ke dalam DataFrame.
import pandas as pd
import sqlite3
conn = sqlite3.connect('nama_database.db') # ganti dengan nama database Anda
query = "SELECT * FROM nama_tabel" # tuliskan query SQL sesuai kebutuhan
df = pd.read_sql_query(query, conn)
conn.close()
Dengan cara ini, data dari tabel SQL langsung disimpan dalam DataFrame df
yang bisa langsung kita olah.
2.Membuat DataFrame dari File CSV
File CSV (Comma-Separated Values) adalah format umum untuk data tabular. Pandas menyediakan fungsi read_csv
untuk memuat data dari file CSV ke dalam DataFrame.
df = pd.read_csv('data.csv') # ganti dengan path file CSV
Dengan satu baris kode ini, Pandas membaca data CSV dan mengonversinya menjadi DataFrame, lengkap dengan kolom dan baris yang siap diolah.
3.Membuat DataFrame dari File Excel
Untuk data dalam format Excel, Pandas juga menyediakan cara mudah mengimpornya. Pastikan Anda sudah menginstal pustaka openpyxl
atau xlrd
(tergantung versi Excel Anda).
df = pd.read_excel('data.xlsx', sheet_name='Sheet1') # ganti dengan path file Excel dan nama sheet jika perlu
Data dari sheet Excel yang dipilih akan dimuat ke dalam DataFrame df
dengan struktur tabel yang sama.
4.Membuat DataFrame dari List dan Tuple
Jika kita hanya memiliki data sederhana dalam bentuk list atau tuple, kita bisa mengonversinya menjadi DataFrame secara manual. Misalnya, kita memiliki list dengan beberapa data dan ingin membuat DataFrame darinya.
data = [
('Ali', 25, 'Engineer'),
('Budi', 30, 'Data Scientist'),
('Citra', 28, 'Analyst')
]
df = pd.DataFrame(data, columns=['Nama', 'Usia', 'Profesi'])
Dalam contoh ini, kita membuat DataFrame dari list of tuples dengan menentukan kolomnya (Nama
, Usia
, dan Profesi
).
5.Membuat DataFrame dari Dictionary
Pandas juga mendukung pembuatan DataFrame dari dictionary. Dictionary di mana setiap kunci adalah nama kolom, dan nilai-nilainya adalah data kolom tersebut.
data = {
'Nama': ['Ali', 'Budi', 'Citra'],
'Usia': [25, 30, 28],
'Profesi': ['Engineer', 'Data Scientist', 'Analyst']
}
df = pd.DataFrame(data)
Dengan cara ini, kita mendapatkan DataFrame df
dengan tiga kolom (Nama
, Usia
, dan Profesi
) langsung dari dictionary.
Projection
Projection di SQL adalah proses memilih satu atau beberapa kolom tertentu dari tabel, tanpa harus mengambil seluruh data. Projection berguna untuk menyaring kolom agar hanya mengambil yang relevan saja.
SELECT nama, usia FROM karyawan;
Di Pandas, projection dilakukan dengan memilih kolom tertentu dari DataFrame menggunakan daftar kolom. Cara ini serupa dengan SQL karena kita hanya mengambil kolom yang kita inginkan dan mengabaikan sisanya.
import pandas as pd
# Misal kita punya DataFrame `df` dengan data karyawan
df = pd.DataFrame({
'nama': ['Ali', 'Budi', 'Citra'],
'usia': [25, 30, 28],
'profesi': ['Engineer', 'Data Scientist', 'Analyst']
})
# Memilih hanya kolom 'nama' dan 'usia'
df_projection = df[['nama', 'usia']]
Filtering
Di SQL, kita bisa melakukan filtering dengan beberapa kondisi menggunakan operator AND
dan OR
, serta IN
dan NOT IN
. Kita juga bisa menggunakan tanda kurung untuk mengelompokkan kondisi agar urutan evaluasi kondisi lebih jelas.
SELECT *
FROM karyawan
WHERE (usia > 25 AND profesi = 'Data Scientist')
OR (usia < 30 AND nama IN ('Ali', 'Citra'));
Query ini akan mengembalikan baris yang memenuhi kondisi:
- Usia lebih dari 25 dan profesi adalah ‘Data Scientist’, atau
- Usia kurang dari 30 dan nama karyawan ada di dalam daftar
('Ali', 'Citra')
.
Di Pandas, kita bisa melakukan filtering kompleks dengan menggunakan operator &
untuk AND
, |
untuk OR
, serta isin()
untuk IN
dan ~
untuk NOT IN
. Jangan lupa, setiap kondisi dalam filter kompleks perlu dikelilingi tanda kurung ()
untuk memastikan urutan evaluasi yang benar.
import pandas as pd
# DataFrame contoh
df = pd.DataFrame({
'nama': ['Ali', 'Budi', 'Citra', 'Dina'],
'usia': [25, 30, 28, 22],
'profesi': ['Engineer', 'Data Scientist', 'Analyst', 'Manager']
})
# Filter: (usia > 25 dan profesi 'Data Scientist') atau (usia < 30 dan nama dalam ['Ali', 'Citra'])
df_filtered = df[((df['usia'] > 25) & (df['profesi'] == 'Data Scientist')) |
((df['usia'] < 30) & (df['nama'].isin(['Ali', 'Citra'])))]
Kode di atas menghasilkan DataFrame df_filtered
yang hanya berisi baris yang memenuhi kondisi yang sama dengan query SQL.
Sorting
Di SQL, sorting dilakukan menggunakan klausa ORDER BY
, di mana kita bisa menentukan kolom mana yang akan digunakan untuk mengurutkan data, serta arah pengurutan (ascending atau descending).
SELECT * FROM karyawan ORDER BY usia DESC, nama ASC;
Query ini akan mengurutkan data di tabel karyawan
berdasarkan kolom usia
secara descending (dari yang terbesar ke terkecil), dan jika ada kesamaan pada usia
, akan diurutkan lagi berdasarkan nama
secara ascending (dari A ke Z).
Di Pandas, sorting dilakukan menggunakan metode sort_values()
. Kita bisa menentukan kolom mana yang akan digunakan sebagai acuan pengurutan, serta arah pengurutan dengan argumen ascending
.
import pandas as pd
# DataFrame contoh
df = pd.DataFrame({
'nama': ['Ali', 'Budi', 'Citra', 'Dina'],
'usia': [25, 30, 28, 22],
'profesi': ['Engineer', 'Data Scientist', 'Analyst', 'Manager']
})
# Mengurutkan berdasarkan kolom 'usia' descending, dan 'nama' ascending
df_sorted = df.sort_values(by=['usia', 'nama'], ascending=[False, True])
Kode di atas akan menghasilkan DataFrame df_sorted
, di mana data diurutkan berdasarkan kolom usia
secara descending dan nama
secara ascending, mirip dengan hasil query SQL di atas.
Grouping
Di SQL, kita menggunakan GROUP BY
untuk mengelompokkan data, dan HAVING
untuk memfilter hasil dari pengelompokan tersebut. HAVING
memungkinkan kita menyaring berdasarkan hasil agregat (misalnya, COUNT
, SUM
, AVG
).
SELECT profesi, AVG(usia) AS rata_usia
FROM karyawan
GROUP BY profesi
HAVING AVG(usia) > 25;
Query ini mengelompokkan data pada tabel karyawan
berdasarkan kolom profesi
, lalu menghitung rata-rata usia
untuk setiap grup. Hanya grup di mana rata-rata usia
lebih besar dari 25 yang akan ditampilkan
Di Pandas, kita bisa melakukan grouping menggunakan groupby()
dan kemudian menerapkan agregasi dengan metode seperti .mean()
, .sum()
, dan sebagainya. Setelah pengelompokan, kita bisa menggunakan metode chaining atau filtering langsung pada DataFrame hasil agregasi.
import pandas as pd
# DataFrame contoh
df = pd.DataFrame({
'nama': ['Ali', 'Budi', 'Citra', 'Dina'],
'usia': [25, 30, 28, 22],
'profesi': ['Engineer', 'Data Scientist', 'Analyst', 'Manager']
})
# Mengelompokkan berdasarkan 'profesi' dan menghitung rata-rata 'usia'
# Memfilter hasil agar hanya rata-rata usia > 25 yang ditampilkan
df_grouped = df.groupby('profesi')['usia'].mean().reset_index()
df_filtered = df_grouped[df_grouped['usia'] > 25]
Dalam contoh ini, df_grouped
adalah DataFrame yang berisi rata-rata usia
untuk setiap profesi
, dan df_filtered
adalah hasil penyaringan di mana hanya grup dengan rata-rata usia
lebih besar dari 25 yang disertakan.
Di SQL, HAVING
digunakan untuk menyaring hasil agregat, sedangkan di Pandas, kita bisa melakukan filtering setelah agregasi dengan cara chaining atau menyaring pada DataFrame hasil grouping.
INNER Join
Di SQL, kita menggunakan klausa JOIN ... ON
untuk melakukan inner join antara dua tabel. ON
menentukan kolom yang menjadi acuan untuk penggabungan.
SELECT karyawan.nama, karyawan.usia, departemen.nama_departemen
FROM karyawan
INNER JOIN departemen ON karyawan.departemen_id = departemen.id;
Query ini menggabungkan tabel karyawan
dan departemen
berdasarkan kolom departemen_id
di karyawan
dan id
di departemen
. Hanya baris yang memiliki nilai yang cocok di kedua tabel yang akan disertakan dalam hasil.
Di Pandas, kita menggunakan fungsi merge()
untuk melakukan inner join antara dua DataFrame. Parameter on
menentukan kolom yang digunakan untuk join, dan how='inner'
menentukan bahwa jenis join yang dilakukan adalah inner join.
import pandas as pd
# DataFrame contoh
df_karyawan = pd.DataFrame({
'nama': ['Ali', 'Budi', 'Citra', 'Dina'],
'usia': [25, 30, 28, 22],
'departemen_id': [1, 2, 1, 3]
})
df_departemen = pd.DataFrame({
'id': [1, 2, 3],
'nama_departemen': ['Engineering', 'Data Science', 'Management']
})
# Inner join berdasarkan kolom 'departemen_id' dan 'id'
df_joined = pd.merge(df_karyawan, df_departemen, left_on='departemen_id', right_on='id', how='inner')
Kode di atas menggabungkan DataFrame df_karyawan
dan df_departemen
dengan inner join menggunakan departemen_id
di df_karyawan
dan id
di df_departemen
. Hasil df_joined
hanya akan berisi baris di mana departemen_id
dan id
memiliki nilai yang sama.
Kedua cara ini menghasilkan output yang sama, yaitu menggabungkan dua tabel atau DataFrame berdasarkan kolom yang memiliki nilai sama, hanya dengan sedikit perbedaan sintaksis.
LEFT OUTER Join
Left join mengembalikan semua baris dari tabel kiri dan hanya baris yang cocok dari tabel kanan. Jika tidak ada kecocokan, kolom dari tabel kanan akan diisi NULL
.
SELECT karyawan.nama, karyawan.usia, departemen.nama_departemen
FROM karyawan
LEFT JOIN departemen ON karyawan.departemen_id = departemen.id;
Query ini menggabungkan tabel karyawan
dengan tabel departemen
menggunakan left join, menampilkan semua data dari karyawan
dan hanya data yang cocok dari departemen
. Jika tidak ada kecocokan, kolom nama_departemen
akan bernilai NULL
.
Di Pandas, left join dilakukan dengan merge()
dan parameter how='left'
. Ini menggabungkan dua DataFrame, mempertahankan semua baris dari DataFrame kiri.
import pandas as pd
# DataFrame contoh
df_karyawan = pd.DataFrame({
'nama': ['Ali', 'Budi', 'Citra', 'Dina'],
'usia': [25, 30, 28, 22],
'departemen_id': [1, 2, 1, 3]
})
df_departemen = pd.DataFrame({
'id': [1, 2, 3],
'nama_departemen': ['Engineering', 'Data Science', 'Management']
})
# Left join berdasarkan kolom 'departemen_id' dan 'id'
df_left_join = pd.merge(df_karyawan, df_departemen, left_on='departemen_id', right_on='id', how='left')
Kode ini menggabungkan df_karyawan
dengan df_departemen
menggunakan left join, mempertahankan semua baris dari df_karyawan
dan hanya menambahkan data yang cocok dari df_departemen
.
CROSS Join
Di SQL, cross join menggabungkan setiap baris di tabel pertama dengan setiap baris di tabel kedua tanpa syarat pencocokan tertentu. Hasilnya adalah semua kombinasi baris dari kedua tabel.
SELECT karyawan.nama, karyawan.usia, departemen.nama_departemen
FROM karyawan
CROSS JOIN departemen;
Query ini akan menghasilkan semua kemungkinan pasangan baris dari tabel karyawan
dan tabel departemen
. Jika karyawan
memiliki 4 baris dan departemen
memiliki 3 baris, hasilnya akan memiliki 4 * 3 = 12 baris.
Di Pandas, cross join dapat dilakukan dengan mengatur merge()
untuk menghasilkan semua kombinasi dari dua DataFrame. Salah satu cara termudah adalah dengan menambahkan kolom tambahan sebagai kunci yang sama, melakukan join di atasnya, lalu menghapus kolom tambahan ini.
import pandas as pd
# DataFrame contoh
df_karyawan = pd.DataFrame({
'nama': ['Ali', 'Budi', 'Citra', 'Dina'],
'usia': [25, 30, 28, 22]
})
df_departemen = pd.DataFrame({
'nama_departemen': ['Engineering', 'Data Science', 'Management']
})
# Menambahkan kolom kunci sementara
df_karyawan['key'] = 1
df_departemen['key'] = 1
# Cross join
df_cross_join = pd.merge(df_karyawan, df_departemen, on='key').drop('key', axis=1)
Dalam kode di atas, key
adalah kolom sementara yang sama pada kedua DataFrame untuk memungkinkan merge()
menghasilkan produk Cartesian. Setelah join, kita menghapus kolom key
untuk mendapatkan hasil cross join yang bersih.
INSERT Data
Di SQL, INSERT INTO
digunakan untuk menambahkan baris baru ke dalam tabel.
INSERT INTO karyawan (nama, usia, departemen_id)
VALUES ('Eko', 27, 2);
Query ini akan menambahkan satu baris baru dengan nama Eko
, usia 27
, dan departemen_id
2
ke tabel karyawan
. Jika Anda ingin menambahkan beberapa baris sekaligus, SQL juga mendukung multiple insert.
INSERT INTO karyawan (nama, usia, departemen_id)
VALUES
('Farah', 32, 1),
('Gilang', 29, 3),
('Hana', 24, 2);
Di Pandas, menambahkan data ke DataFrame dapat dilakukan dengan metode append()
atau pd.concat()
.
Menambahkan Satu Baris dengan append()
import pandas as pd
# DataFrame contoh
df_karyawan = pd.DataFrame({
'nama': ['Ali', 'Budi', 'Citra'],
'usia': [25, 30, 28],
'departemen_id': [1, 2, 1]
})
# Menambahkan satu baris baru
df_karyawan = df_karyawan.append({'nama': 'Eko', 'usia': 27, 'departemen_id': 2}, ignore_index=True)
Kode di atas akan menambahkan satu baris baru dengan nama Eko
, usia 27
, dan departemen_id
2
ke DataFrame df_karyawan
.
Menambahkan Beberapa Baris dengan pd.concat()
Jika ingin menambahkan beberapa baris sekaligus, kita bisa membuat DataFrame baru berisi data tambahan, lalu menggabungkannya menggunakan pd.concat()
.
# Data baru untuk ditambahkan
df_new = pd.DataFrame({
'nama': ['Farah', 'Gilang', 'Hana'],
'usia': [32, 29, 24],
'departemen_id': [1, 3, 2]
})
# Menambahkan beberapa baris ke DataFrame utama
df_karyawan = pd.concat([df_karyawan, df_new], ignore_index=True)
UPDATE Data
Di SQL, UPDATE
digunakan untuk mengubah data yang ada di tabel, dengan klausa WHERE
untuk menetapkan baris yang akan diperbarui.
UPDATE karyawan
SET usia = 26
WHERE nama = 'Ali';
Query ini akan memperbarui kolom usia
menjadi 26
pada baris di mana nama
adalah 'Ali'
.
Kita juga bisa mengubah beberapa kolom sekaligus:
UPDATE karyawan
SET usia = 31, departemen_id = 2
WHERE nama = 'Budi';
Ini akan mengubah usia
menjadi 31
dan departemen_id
menjadi 2
untuk karyawan bernama Budi
.
Di Pandas, kita dapat memperbarui data di DataFrame dengan menggunakan seleksi baris dan kolom menggunakan kondisi loc[]
.
Update Satu Kolom Berdasarkan Kondisi
import pandas as pd
# DataFrame contoh
df_karyawan = pd.DataFrame({
'nama': ['Ali', 'Budi', 'Citra', 'Dina'],
'usia': [25, 30, 28, 22],
'departemen_id': [1, 2, 1, 3]
})
# Mengupdate usia Ali menjadi 26
df_karyawan.loc[df_karyawan['nama'] == 'Ali', 'usia'] = 26
Kode ini memperbarui kolom usia
menjadi 26
pada baris di mana nama
adalah 'Ali'
.
Update Beberapa Kolom Berdasarkan Kondisi
Kita juga bisa mengubah beberapa kolom sekaligus:
# Mengupdate usia dan departemen_id untuk Budi
df_karyawan.loc[df_karyawan['nama'] == 'Budi', ['usia', 'departemen_id']] = [31, 2]
Kode ini memperbarui kolom usia
menjadi 31
dan departemen_id
menjadi 2
untuk Budi
.
Pada SQL, kita menggunakan UPDATE ... SET ... WHERE
untuk memperbarui data, sementara di Pandas, kita menggunakan loc[]
untuk memilih dan memperbarui baris berdasarkan kondisi tertentu.
DELETE Data
Di SQL, DELETE
digunakan untuk menghapus baris dari tabel berdasarkan kondisi tertentu. Klausa WHERE
digunakan untuk menentukan baris yang akan dihapus.
DELETE FROM karyawan
WHERE nama = 'Ali';
Query ini akan menghapus baris di mana nama
adalah 'Ali'
. Jika WHERE
dihilangkan, semua baris dalam tabel akan terhapus (perlu berhati-hati dengan penggunaan ini).
DELETE FROM karyawan;
Di Pandas, menghapus baris dapat dilakukan dengan menggunakan metode drop()
atau dengan menggunakan filter kondisi.
Menghapus Baris Berdasarkan Kondisi.
import pandas as pd
# DataFrame contoh
df_karyawan = pd.DataFrame({
'nama': ['Ali', 'Budi', 'Citra', 'Dina'],
'usia': [25, 30, 28, 22],
'departemen_id': [1, 2, 1, 3]
})
# Menghapus baris di mana nama adalah 'Ali'
df_karyawan = df_karyawan[df_karyawan['nama'] != 'Ali']
Kode ini akan menghapus semua baris di mana nama
adalah 'Ali'
dengan menyaring baris yang tidak cocok dengan kondisi.
Menghapus Baris dengan drop()
Berdasarkan Index
Jika kita ingin menghapus baris berdasarkan indeksnya, kita bisa menggunakan drop()
.
# Menghapus baris dengan indeks 0
df_karyawan = df_karyawan.drop(0)
Ini akan menghapus baris pertama dari DataFrame (index 0
), tanpa mempertimbangkan nilai kolom tertentu.
Pada SQL, DELETE ... WHERE
digunakan untuk menghapus data, sementara di Pandas, kita dapat menghapus baris dengan kondisi menggunakan filter atau drop()
jika berdasarkan indeks.
Menyimpan dataframe
1. Menyimpan ke CSV
CSV adalah format teks sederhana yang populer untuk menyimpan data berbentuk tabel.
import pandas as pd
# DataFrame contoh
df = pd.DataFrame({
'nama': ['Ali', 'Budi', 'Citra', 'Dina'],
'usia': [25, 30, 28, 22],
'departemen_id': [1, 2, 1, 3]
})
# Menyimpan DataFrame ke file CSV
df.to_csv('data_karyawan.csv', index=False)
Kode di atas akan menyimpan DataFrame df
ke dalam file data_karyawan.csv
tanpa menyimpan indeks baris.
2. Menyimpan ke Excel
Pandas mendukung penyimpanan DataFrame ke format Excel, baik format .xls (Excel lama) maupun .xlsx (Excel baru).
# Menyimpan DataFrame ke file Excel
df.to_excel('data_karyawan.xlsx', index=False)
Ini akan menyimpan DataFrame ke dalam file data_karyawan.xlsx
tanpa indeks baris.
3. Menyimpan ke SQL
DataFrame bisa disimpan ke database SQL menggunakan fungsi to_sql()
. Untuk ini, Anda perlu koneksi database (misalnya SQLite atau MySQL).
from sqlalchemy import create_engine
# Membuat koneksi ke database SQLite (atau bisa diganti dengan MySQL)
engine = create_engine('sqlite:///karyawan.db')
# Menyimpan DataFrame ke tabel SQL
df.to_sql('karyawan', con=engine, index=False, if_exists='replace')
Ini akan menyimpan DataFrame ke tabel karyawan
di dalam database SQLite karyawan.db
. Parameter if_exists='replace'
akan menimpa tabel jika sudah ada.
4. Menyimpan ke Parquet
Parquet adalah format kolom yang efisien dan populer di ekosistem big data. Format ini sangat cocok untuk penyimpanan besar karena kompresinya yang tinggi.
# Menyimpan DataFrame ke file Parquet
df.to_parquet('data_karyawan.parquet')
Kode ini akan menyimpan DataFrame ke file data_karyawan.parquet
dengan kompresi bawaan, yang cocok untuk analisis big data.
5. Menyimpan ke Format JSON
JSON sering digunakan untuk pertukaran data antar aplikasi karena kompatibel dengan banyak sistem.
# Menyimpan DataFrame ke file JSON
df.to_json('data_karyawan.json', orient='records')
Ini akan menyimpan DataFrame sebagai array JSON dengan orient='records'
untuk menyimpan data dalam bentuk array objek JSON.
6. Menyimpan ke HDF5
HDF5 adalah format biner yang efisien untuk menyimpan data besar dan kompleks dalam format yang dapat diakses cepat.
# Menyimpan DataFrame ke file HDF5
df.to_hdf('data_karyawan.h5', key='karyawan', mode='w')
Kode ini akan menyimpan DataFrame dalam file HDF5 data_karyawan.h5
di bawah key karyawan
.
semoga membantu kalian para sql ers yang mau gak mau harus masuk ke pandas 😀
happy coding 😀