ETL dan ELT di Python
Jake Roach
Data Engineer
Data harus ditransformasi dengan benar agar memberi nilai bagi pengguna hilir

pandas menyediakan alat kuat untuk mentransformasi data tabel
.loc[].to_datetime().loc[] memungkinkan transformasi pada kedua dimensi DataFrame
# Simpan hanya entri non-nol
cleaned = raw_stock_data.loc[raw_stock_data["open"] > 0, :]
# Hapus kolom berlebih
cleaned = raw_stock_data.loc[:, ["timestamps", "open", "close"]]
# Gabungkan dalam satu langkah
cleaned = raw_stock_data.loc[raw_stock_data["open"] > 0, ["timestamps", "open", "close"]]
.iloc[] menggunakan pengindeksan integer untuk memfilter DataFrame
cleaned = raw_stock_data.iloc[[0:50], [0, 1, 2]]
Tipe data sering perlu diubah untuk kasus penggunaan hilir
.to_datetime()# Kolom "timestamps" saat ini terlihat seperti: "20230101085731"
# Ubah kolom "timestamps" ke tipe datetime
cleaned["timestamps"] = pd.to_datetime(cleaned["timestamps"], format="%Y%m%d%H%M%S")
Timestamp('2023-01-01 08:57:31')
# Kolom "timestamps" saat ini terlihat seperti: 1681596000011
# Ubah kolom "timestamps" ke tipe datetime
cleaned["timestamps"] = pd.to_datetime(cleaned["timestamps"], unit="ms")
Timestamp('2023-04-15 22:00:00.011000')
Transformasi data memiliki risiko:
# Beberapa cara menyelidiki DataFrame
cleaned = raw_stock_data.loc[raw_stock_data["open"] > 0, ["timestamps", "open", "close"]]
print(cleaned.head())
# Kembalikan record terkecil dan terbesar
print(cleaned.nsmallest(10, ["timestamps"]))
print(cleaned.nlargest(10, ["timestamps"]))
ETL dan ELT di Python