0Pricing
Python Academy · Pelajaran

Penggabungan, Penyatuan, dan Pembersihan Data

Gabungkan DataFrames dan tangani nilai yang hilang secara profesional.

Penggabungan, Penyatuan, dan Pembersihan Data adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.

pd.merge

pd.merge(left, right, on="key") menggabungkan dua DataFrame berdasarkan kolom yang sama — mirip dengan SQL JOIN.

import pandas as pd

users = pd.DataFrame({"id":[1,2,3],"name":["A","B","C"]})
orders = pd.DataFrame({"user_id":[1,1,2],"amount":[100,50,200]})
result = pd.merge(users, orders, left_on="id", right_on="user_id")
print(result)

Jenis JOIN

Tentukan how="inner" (bawaan), "left", "right", atau "outer" untuk mengatur baris mana yang dipertahankan.

import pandas as pd

A = pd.DataFrame({"key":["a","b","c"],"val":[1,2,3]})
B = pd.DataFrame({"key":["b","c","d"],"x":[10,20,30]})

print(pd.merge(A, B, on="key", how="left"))   # all of A
print(pd.merge(A, B, on="key", how="outer"))  # all rows

df.join

df.join(other) menggabungkan berdasarkan indeks. Cara ini lebih cepat dan sederhana saat penggabungan dilakukan berdasarkan indeks, bukan kolom.

import pandas as pd

df1 = pd.DataFrame({"a":[1,2]}, index=["x","y"])
df2 = pd.DataFrame({"b":[3,4]}, index=["x","y"])
print(df1.join(df2))
# x: a=1 b=3
# y: a=2 b=4

concat

pd.concat([df1, df2]) menumpuk DataFrames secara vertikal (axis=0) atau horizontal (axis=1).

import pandas as pd

df1 = pd.DataFrame({"a":[1,2]})
df2 = pd.DataFrame({"a":[3,4]})
print(pd.concat([df1,df2], ignore_index=True))
# a: 1 2 3 4

# Horizontal:
df3 = pd.DataFrame({"b":[5,6]})
print(pd.concat([df1,df3], axis=1))

Menangani Nilai yang Hilang

Deteksi NaN dengan isna()/notna(). Isi dengan fillna(). Hapus dengan dropna().

import pandas as pd, numpy as np

df = pd.DataFrame({"a":[1,np.nan,3],"b":[np.nan,2,3]})
print(df.isna().sum())      # count nulls per column
df["a"] = df["a"].fillna(0)
df = df.dropna()            # drop rows with any null

Strategi fillna

Isi nilai yang hilang dengan konstanta, pengisian maju (ffill), pengisian mundur (bfill), atau rata-rata kolom.

import pandas as pd, numpy as np

df = pd.DataFrame({"val":[1, np.nan, np.nan, 4]})
print(df["val"].ffill())   # forward fill: 1 1 1 4
print(df["val"].bfill())   # back fill:    1 4 4 4
print(df["val"].fillna(df["val"].mean()))   # fill with mean

Mengubah Tipe Data

Gunakan astype() untuk mengonversi tipe kolom. Gunakan pd.to_datetime() untuk mengurai tanggal dan pd.to_numeric dengan errors="coerce" untuk konversi numerik yang aman.

import pandas as pd

df = pd.DataFrame({"age":["25","30","35"],"date":["2024-01-01","2024-06-15","2024-12-31"]})
df["age"] = df["age"].astype(int)
df["date"] = pd.to_datetime(df["date"])
print(df.dtypes)

Membersihkan String

Aksesori .str pada Pandas menyediakan operasi string terv vektorisasi: strip(), lower(), replace(), extract().

import pandas as pd

df = pd.DataFrame({"name":["  Alice  "," bob","CAROL"]})
df["clean"] = df["name"].str.strip().str.title()
print(df["clean"])   # Alice / Bob / Carol

Mengganti Nama dan Mengurutkan Ulang Kolom

Ganti nama dengan df.rename(columns={"old":"new"}). Urutkan ulang dengan pengindeksan menggunakan daftar.

import pandas as pd

df = pd.DataFrame({"a":[1],"b":[2],"c":[3]})
df = df.rename(columns={"a":"alpha","b":"beta"})
df = df[["c","beta","alpha"]]   # reorder
print(df.columns.tolist())      # ['c', 'beta', 'alpha']

Mendeteksi Duplikat

Temukan duplikat dengan duplicated() dan hapus dengan drop_duplicates().

import pandas as pd

df = pd.DataFrame({"id":[1,2,1,3],"val":["a","b","a","c"]})
print(df.duplicated())           # [F F T F]
print(df[df.duplicated()])       # show duplicates
clean = df.drop_duplicates(subset=["id"])

apply untuk Transformasi Baris/Kolom

df.apply(func, axis=1) menerapkan fungsi ke setiap baris. axis=0 menerapkannya ke setiap kolom.

import pandas as pd

df = pd.DataFrame({"a":[1,2,3],"b":[4,5,6]})
# New column = row sum:
df["total"] = df.apply(lambda row: row["a"] + row["b"], axis=1)
print(df)

Pemeriksaan Singkat

Apa yang dilakukan df.fillna(method="ffill")?

Ringkasan

Gunakan pd.merge untuk JOIN bergaya SQL dan pd.concat untuk menumpuk data. Tangani NaN dengan isna(), fillna(), dan dropna(). Bersihkan string dengan aksesori .str. Konversikan tipe dengan astype() dan pd.to_datetime().

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Penggabungan, Penyatuan, dan Pembersihan Data” gratis?

Ya — teks lengkap “Penggabungan, Penyatuan, dan Pembersihan Data” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Penggabungan, Penyatuan, dan Pembersihan Data”?

Gabungkan DataFrames dan tangani nilai yang hilang secara profesional. Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Penggabungan, Penyatuan, dan Pembersihan Data” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Dasar-Dasar Series dan DataFrame
  2. Pengindeksan, Pemfilteran, dan Mask Boolean
  3. GroupBy, Agregasi, dan Tabel Pivot
  4. Penggabungan, Penyatuan, dan Pembersihan Data
← Kembali ke Python Academy