Lewati ke konten utama

Tutorial Python pandas: Panduan Utama untuk Pemula

Siap memulai perjalanan Anda dengan pandas? Berikut panduan langkah demi langkah untuk memulainya.
Diperbarui 5 Jun 2026  · 15 mnt baca

pandas bisa dibilang adalah paket Python terpenting untuk analisis data. Dengan lebih dari 100 juta unduhan per bulan, ini adalah paket standar de facto untuk manipulasi data dan analisis data eksploratif. Kemampuannya membaca dan menulis ke berbagai format menjadikannya alat yang serbaguna bagi praktisi data science. Fungsi manipulasi datanya membuatnya sangat mudah diakses dan praktis untuk mengagregasi, menganalisis, dan membersihkan data. 

Dalam posting blog kami tentang cara belajar pandas, kami membahas jalur pembelajaran yang dapat Anda ambil untuk menguasai paket ini. Tutorial yang ramah pemula ini akan membahas semua konsep dasar dan menggambarkan berbagai fungsi pandas. Anda juga dapat melihat kursus kami tentang pandas Foundations untuk detail lebih lanjut. 

Artikel ini ditujukan bagi pemula dengan pengetahuan dasar Python dan tanpa pengalaman sebelumnya dengan pandas untuk membantu Anda memulai.

Apa itu pandas?

pandas adalah paket manipulasi data di Python untuk data tabular. Yaitu data dalam bentuk baris dan kolom, yang juga dikenal sebagai DataFrame. Secara intuitif, Anda bisa menganggap DataFrame sebagai lembar Excel. 

Fungsionalitas pandas mencakup transformasi data, seperti mengurutkan baris dan mengambil subset, hingga menghitung statistik ringkasan seperti mean, mengubah bentuk DataFrame, dan menggabungkan DataFrame. pandas bekerja baik dengan paket data science Python populer lainnya, yang sering disebut ekosistem PyData, termasuk

Untuk apa pandas digunakan?

pandas digunakan di seluruh alur kerja analisis data. Dengan pandas, Anda dapat:

  • Mengimpor dataset dari basis data, spreadsheet, file comma-separated values (CSV), dan lainnya.
  • Membersihkan dataset, misalnya dengan menangani nilai hilang.
  • Merapikan dataset dengan mengubah strukturnya ke format yang sesuai untuk analisis.
  • Mengagregasi data dengan menghitung statistik ringkasan seperti mean kolom, korelasi di antaranya, dan lainnya.
  • Memvisualisasikan dataset dan menemukan wawasan.

pandas juga memiliki fungsionalitas untuk analisis deret waktu dan menganalisis data teks.

Manfaat utama paket pandas

Tak diragukan lagi, pandas adalah alat manipulasi data yang kuat dengan sejumlah manfaat, termasuk:

  • Dibuat untuk Python: Python adalah bahasa paling populer di dunia untuk pembelajaran mesin dan data science.
  • Lebih ringkas per operasi: Kode yang ditulis dengan pandas lebih ringkas, membutuhkan lebih sedikit baris kode untuk mendapatkan output yang diinginkan. 
  • Tampilan data yang intuitif: pandas menawarkan representasi data yang sangat intuitif yang memudahkan pemahaman dan analisis data.
  • Fitur sangat lengkap: Mendukung beragam operasi mulai dari analisis data eksploratif, menangani nilai hilang, menghitung statistik, memvisualisasikan data univariat dan bivariat, dan banyak lagi.
  • Bekerja dengan data besar: pandas menangani set data besar dengan mudah. Ia menawarkan kecepatan dan efisiensi saat bekerja dengan dataset berukuran jutaan rekaman dan ratusan kolom, tergantung pada mesin.

Cara menginstal pandas?

Sebelum membahas fungsionalitasnya, mari kita instal pandas terlebih dahulu. Anda dapat melewati langkah ini dengan mendaftar akun DataCamp gratis dan menggunakan DataLab, IDE berbasis cloud yang sudah dilengkapi prainstal pandas (bersama paket data science Python teratas).

Jalankan dan edit kode dari tutorial ini secara online.

Jalankan kode

Instal pandas

Menginstal pandas itu mudah; gunakan perintah pip install di terminal Anda. 

pip install pandas

Sebagai alternatif, Anda dapat menginstalnya melalui conda:

conda install pandas

Setelah menginstal pandas, sebaiknya periksa versi yang terpasang untuk memastikan semuanya berfungsi dengan benar:

import pandas as pd
print(pd.__version__)  # Prints the pandas version

Ini mengonfirmasi bahwa pandas terpasang dengan benar dan memungkinkan Anda memverifikasi kompatibilitas dengan paket lain.

Mengimpor data di pandas

Untuk mulai bekerja dengan pandas, impor paket Python pandas seperti di bawah ini. Saat mengimpor pandas, alias paling umum untuk pandas adalah pd.

import pandas as pd

Mengimpor file CSV

Gunakan read_csv() dengan path ke file CSV untuk membaca file comma-separated values (lihat tutorial kami tentang mengimpor data dengan read_csv() untuk detail lebih lanjut).

df = pd.read_csv("diabetes.csv")

Operasi baca ini memuat file CSV diabetes.csv untuk menghasilkan objek DataFrame pandas df. Sepanjang tutorial ini, Anda akan melihat cara memanipulasi objek DataFrame seperti itu. 

Mengimpor file teks

Membaca file teks mirip dengan file CSV. Satu nuansanya adalah Anda perlu menentukan pemisah dengan argumen sep, seperti di bawah ini. Argumen pemisah merujuk pada simbol yang digunakan untuk memisahkan baris dalam DataFrame. Koma (sep = ","), whitespace(sep = "\s"), tab (sep = "\t"), dan titik dua(sep = ":") adalah pemisah yang umum digunakan. Di sini \s merepresentasikan satu karakter spasi.

df = pd.read_csv("diabetes.txt", sep="\s")

Mengimpor file Excel (satu sheet)

Membaca file excel (baik XLS maupun XLSX) semudah fungsi read_excel(), menggunakan path file sebagai masukan.

df = pd.read_excel('diabetes.xlsx')

Anda juga dapat menentukan argumen lain, seperti header untuk menentukan baris mana yang menjadi header DataFrame. Nilai defaultnya adalah 0, yang menandakan baris pertama sebagai header atau nama kolom. Anda juga dapat menentukan nama kolom sebagai list pada argumen names. Argumen index_col (default None) dapat digunakan jika file berisi indeks baris.

Catatan: Dalam DataFrame atau Series pandas, indeks adalah pengenal yang menunjuk ke lokasi baris atau kolom dalam DataFrame pandas. Singkatnya, indeks memberi label baris atau kolom dari DataFrame dan memungkinkan Anda mengakses baris atau kolom tertentu dengan menggunakan indeksnya (Anda akan melihat ini nanti). Indeks baris DataFrame bisa berupa rentang (mis., 0 hingga 303), deret waktu (tanggal atau timestamp), pengenal unik (mis., employee_ID dalam tabel employees), atau tipe data lainnya. Untuk kolom, biasanya berupa string (menunjukkan nama kolom).

Mengimpor file Excel (beberapa sheet)

Membaca file Excel dengan beberapa sheet tidak jauh berbeda. Anda hanya perlu menentukan satu argumen tambahan, sheet_name, di mana Anda dapat memberikan string untuk nama sheet atau integer untuk posisi sheet (perhatikan bahwa Python menggunakan penomoran berbasis 0, di mana sheet pertama dapat diakses dengan sheet_name = 0)

# Mengambil sheet kedua karena Python menggunakan penomoran berbasis 0
df = pd.read_excel('diabetes_multi.xlsx', sheet_name=1)

Mengimpor file JSON

Mirip dengan fungsi read_csv(), Anda dapat menggunakan read_json() untuk tipe file JSON dengan nama file JSON sebagai argumen (untuk detail lebih lanjut baca tutorial ini tentang mengimpor data JSON dan HTML ke pandas). Kode di bawah membaca file JSON dari disk dan membuat objek DataFrame df.

df = pd.read_json("diabetes.json")

Jika Anda ingin mempelajari lebih lanjut tentang mengimpor data dengan pandas, lihat lembar contekan ini tentang mengimpor berbagai tipe file dengan Python. 

Mengimpor data dari basis data SQL

Untuk memuat data dari basis data relasional, gunakan pd.read_sql() bersama koneksi basis data.

import sqlite3

# Establish a connection to an SQLite database
conn = sqlite3.connect("my_database.db")

# Read data from a table
df = pd.read_sql("SELECT * FROM my_table", conn)

Untuk dataset besar, pertimbangkan menggunakan SQLAlchemy untuk mengoptimalkan kueri.

Mengimpor data dari API (Format JSON)

Jika data Anda berasal dari web API, pandas dapat membacanya langsung menggunakan pd.read_json():

df = pd.read_json("https://api.example.com/data.json")

Jika respons API dipaginasi, atau dalam format JSON bertingkat, Anda mungkin memerlukan pemrosesan tambahan menggunakan json_normalize() dari pandas.io.json.

Mengekspor data di pandas

Sama seperti pandas dapat mengimpor data dari berbagai tipe file, pandas juga memungkinkan Anda mengekspor data ke berbagai format. Hal ini terutama terjadi saat data ditransformasikan menggunakan pandas dan perlu disimpan secara lokal di mesin Anda. Di bawah ini adalah cara mengekspor DataFrame pandas ke berbagai format.

Mengekspor DataFrame ke file CSV

DataFrame pandas (di sini kita menggunakan df) disimpan sebagai file CSV menggunakan metode .to_csv(). Argumennya mencakup nama file dengan path dan index – di mana index = True menyiratkan menulis indeks DataFrame.

df.to_csv("diabetes_out.csv", index=False)

Mengekspor DataFrame ke file JSON

Ekspor objek DataFrame ke file JSON dengan memanggil metode .to_json().

df.to_json("diabetes_out.json")

Catatan: File JSON menyimpan objek tabular seperti DataFrame sebagai pasangan key-value. Jadi Anda akan melihat header kolom yang berulang dalam file JSON.

Mengekspor DataFrame ke file teks

Seperti saat menulis DataFrame ke file CSV, Anda dapat memanggil .to_csv(). Satu-satunya perbedaannya adalah format file output .txt, dan Anda perlu menentukan pemisah menggunakan argumen sep.

df.to_csv('diabetes_out.txt', header=df.columns, index=None, sep=' ')

Mengekspor DataFrame ke file Excel

Panggil .to_excel() dari objek DataFrame untuk menyimpannya sebagai file “.xls” atau “.xlsx”.

df.to_excel("diabetes_out.xlsx", index=False)

Melihat dan memahami DataFrame menggunakan pandas 

Setelah membaca data tabular sebagai DataFrame, Anda perlu sekilas melihat datanya. Anda dapat melihat sampel kecil dari dataset atau ringkasan data dalam bentuk statistik ringkasan.

Cara melihat data menggunakan .head() dan .tail()

Anda dapat melihat beberapa baris pertama atau terakhir dari DataFrame menggunakan metode .head() atau .tail(). Anda dapat menentukan jumlah baris melalui argumen n (nilai default adalah 5).

df.head()

First five rows of the DataFrame (df) using .head()

Lima baris pertama DataFrame 

df.tail(n = 10)

last 10 rows of a Dataframe with df.head()

10 baris pertama DataFrame 

Memahami data menggunakan .describe()

Metode .describe() mencetak statistik ringkasan dari semua kolom numerik, seperti jumlah, mean, standar deviasi, rentang, dan kuartil kolom numerik.

df.describe()

Get summary statistics with .describe()

Dapatkan statistik ringkasan dengan .describe()

Ini memberikan gambaran cepat tentang skala, skew, dan rentang data numerik.

Anda juga dapat memodifikasi kuartil menggunakan argumen percentiles. Di sini, misalnya, kita melihat persentil 30%, 50%, dan 70% dari kolom numerik dalam DataFrame df.

df.describe(percentiles=[0.3, 0.5, 0.7])

Get summary statistics with specific percentiles  pandas

Dapatkan statistik ringkasan dengan persentil tertentu 

Anda juga dapat mengisolasi tipe data tertentu dalam output ringkasan Anda dengan menggunakan argumen include. Di sini, misalnya, kita hanya merangkum kolom dengan tipe data integer

df.describe(include=[int])

summary statistics of integer columns only pandas

Dapatkan statistik ringkasan hanya untuk kolom integer 

Demikian juga, Anda mungkin ingin mengecualikan tipe data tertentu menggunakan argumen exclude.

df.describe(exclude=[int])

get summary statistics of non-integer columns pandas

Dapatkan statistik ringkasan hanya untuk kolom non-integer 


Sering kali, praktisi merasa lebih mudah melihat statistik seperti itu dengan mentransposenya menggunakan atribut .T.

df.describe().T

Transpose summary statistics pandas

Transpose statistik ringkasan dengan .T


Untuk lebih lanjut tentang mendeskripsikan DataFrame, lihat lembar contekan berikut.

Pelajari dasar-dasar pandas

Python for Spreadsheet Users

BeginnerSkill Level
4 Hr
29.1K learners
Use your knowledge of common spreadsheet functions and techniques to explore Python!
See DetailsRight Arrow

Memahami data menggunakan .info()

Metode .info() adalah cara cepat untuk melihat tipe data, nilai hilang, dan ukuran data dari sebuah DataFrame. Di sini, kami menetapkan argumen show_counts ke True, yang memberikan tinjauan atas total nilai non-hilang di setiap kolom. Kami juga menetapkan memory_usage ke True, yang menunjukkan total penggunaan memori elemen DataFrame. Saat verbose diatur ke True, ini mencetak ringkasan lengkap dari .info()

df.info(show_counts=True, memory_usage=True, verbose=True)

image26.png

Memahami data Anda menggunakan .shape

Jumlah baris dan kolom dari sebuah DataFrame dapat diidentifikasi menggunakan atribut .shape dari DataFrame. Ini mengembalikan tuple (baris, kolom) dan dapat diindeks untuk mendapatkan hanya jumlah baris, dan hanya jumlah kolom sebagai output.

df.shape # Get the number of rows and columns
df.shape[0] # Get the number of rows only
df.shape[1] # Get the number of columns only
(768,9)
768
9

Mendapatkan semua kolom dan nama kolom

Memanggil atribut .columns dari objek DataFrame mengembalikan nama kolom dalam bentuk objek Index. Sebagai pengingat, indeks pandas adalah alamat/label baris atau kolom.

df.columns

Output of columns

Ini dapat dikonversi menjadi list menggunakan fungsi list().

list(df.columns)

column names as a list pandas

Memeriksa nilai hilang di pandas dengan .isnull()

DataFrame sampel tidak memiliki nilai hilang. Mari kita tambahkan beberapa agar lebih menarik. Metode .copy() membuat salinan DataFrame asli. Ini dilakukan untuk memastikan bahwa perubahan pada salinan tidak tercermin di DataFrame asli. Menggunakan .loc (akan dibahas nanti), Anda dapat mengatur baris dua hingga lima dari kolom Pregnancies ke nilai NaN, yang menandakan nilai hilang.

df2 = df.copy()
df2.loc[2:5,'Pregnancies'] = None
df2.head(7)

Rows 2 to 5 are missing pandas

Anda dapat melihat, sekarang baris 2 hingga 5 adalah NaN

Anda dapat memeriksa apakah setiap elemen dalam DataFrame hilang menggunakan metode .isnull().

df2.isnull().head(7)

Mengingat sering kali lebih berguna untuk mengetahui berapa banyak data yang hilang, Anda dapat menggabungkan .isnull() dengan .sum() untuk menghitung jumlah null di setiap kolom.

df2.isnull().sum()
Pregnancies                 4
Glucose                     0
BloodPressure               0
SkinThickness               0
Insulin                     0
BMI                         0
DiabetesPedigreeFunction    0
Age                         0
Outcome                     0
dtype: int64

Anda juga dapat melakukan penjumlahan ganda untuk mendapatkan total jumlah null dalam DataFrame.

df2.isnull().sum().sum()
4

Mengurutkan, Memotong, dan Mengekstrak Data di pandas

Paket pandas menawarkan beberapa cara untuk mengurutkan, membuat subset, memfilter, dan mengisolasi data dalam DataFrame Anda. Di sini, kita akan melihat cara-cara yang paling umum.

Mengurutkan data

Untuk mengurutkan DataFrame berdasarkan kolom tertentu:

df.sort_values(by="Age", ascending=False, inplace=True)  # Sort by Age in descending order

Anda dapat mengurutkan berdasarkan beberapa kolom:

df.sort_values(by=["Age", "Glucose"], ascending=[False, True], inplace=True)

Mengatur ulang indeks

Jika Anda memfilter atau mengurutkan DataFrame, indeks Anda mungkin tidak selaras. Gunakan .reset_index() untuk memperbaikinya:

df.reset_index(drop=True, inplace=True)  # Resets index and removes old index column

Memfilter data menggunakan kondisi

Untuk mengekstrak data berdasarkan suatu kondisi:

df[df["BloodPressure"] > 100]  # Selects rows where BloodPressure is greater than 100

Mengisolasi satu kolom menggunakan [ ] 

Anda dapat mengisolasi satu kolom menggunakan tanda kurung siku [ ] dengan nama kolom di dalamnya. Outputnya adalah objek Series pandas. Series pandas adalah array satu dimensi yang berisi data dengan tipe apa pun, termasuk integer, float, string, boolean, objek python, dll. DataFrame terdiri dari banyak series yang berfungsi sebagai kolom.

df['Outcome']

Isolating one column in pandas

Mengisolasi satu kolom di pandas

Mengisolasi dua kolom atau lebih menggunakan [[ ]] 

Anda juga dapat memberikan list nama kolom di dalam tanda kurung siku untuk mengambil lebih dari satu kolom. Di sini, tanda kurung siku digunakan dalam dua cara berbeda. Kita menggunakan tanda kurung siku luar untuk menunjukkan subset dari DataFrame, dan tanda kurung siku dalam untuk membuat list.

df[['Pregnancies', 'Outcome']]

image15.png

Mengisolasi dua kolom di pandas

Mengisolasi satu baris menggunakan [ ] 

Satu baris dapat diambil dengan memasukkan series boolean dengan satu nilai True. Pada contoh di bawah, baris kedua dengan index = 1 dikembalikan. Di sini, .index mengembalikan label baris DataFrame, dan perbandingan mengubahnya menjadi array satu dimensi bertipe boolean.

df[df.index==1]

Isolating one row in pandas

Mengisolasi satu baris di pandas

Mengisolasi dua baris atau lebih menggunakan [ ] 

Demikian pula, dua atau lebih baris dapat dikembalikan menggunakan metode .isin() alih-alih operator ==.

df[df.index.isin(range(2,10))]

Isolating specific rows in pandas

Mengisolasi baris tertentu di pandas

Menggunakan .loc[] dan .iloc[] untuk mengambil baris

Anda dapat mengambil baris tertentu berdasarkan label atau kondisi menggunakan .loc[] dan .iloc[] ("location" dan "integer location"). .loc[] menggunakan label untuk menunjuk ke baris, kolom, atau sel, sedangkan .iloc[] menggunakan posisi numerik. Untuk memahami perbedaan keduanya, mari kita modifikasi indeks df2 yang dibuat sebelumnya.

df2.index = range(1,769)

Contoh di bawah ini mengembalikan sebuah Series pandas, bukan DataFrame. Angka 1 merepresentasikan indeks baris (label), sedangkan 1 pada .iloc[] adalah posisi baris (baris pertama).

df2.loc[1]
Pregnancies                   6.000
Glucose                     148.000
BloodPressure                72.000
SkinThickness                35.000
Insulin                       0.000
BMI                          33.600
DiabetesPedigreeFunction      0.627
Age                          50.000
Outcome                       1.000
Name: 1, dtype: float64
df2.iloc[1]
Pregnancies                  1.000
Glucose                     85.000
BloodPressure               66.000
SkinThickness               29.000
Insulin                      0.000
BMI                         26.600
DiabetesPedigreeFunction     0.351
Age                         31.000
Outcome                      0.000
Name: 2, dtype: float64

Anda juga dapat mengambil beberapa baris dengan memberikan rentang dalam tanda kurung siku.

df2.loc[100:110]

Isolating rows with loc

Mengisolasi baris di pandas dengan .loc[]

df2.iloc[100:110]

Isolating rows in pandas with .loc[]

Mengisolasi baris di pandas dengan .iloc[]

Anda juga dapat membuat subset dengan .loc[] dan .iloc[] menggunakan list alih-alih rentang.

df2.loc[[100, 200, 300]]

Isolating rows using a list in pandas with .loc[]

Mengisolasi baris menggunakan list di pandas dengan .loc[]

df2.iloc[[100, 200, 300]]

image25.png

Mengisolasi baris menggunakan list di pandas dengan .iloc[]

Anda juga dapat memilih kolom tertentu bersama baris. Di sinilah .iloc[] berbeda dari .loc[] – ia membutuhkan lokasi kolom, bukan label kolom.

df2.loc[100:110, ['Pregnancies', 'Glucose', 'BloodPressure']]

Isolating columns using a list in pandas with .loc[]

Mengisolasi kolom di pandas dengan .loc[]

df2.iloc[100:110, :3]

Isolating columns using in pandas with .iloc[]

Mengisolasi kolom dengan .iloc[]

Untuk alur kerja yang lebih cepat, Anda dapat memasukkan indeks awal suatu baris sebagai rentang.

df2.loc[760:, ['Pregnancies', 'Glucose', 'BloodPressure']]

Isolating columns using in pandas with .loc[]

Mengisolasi kolom dan baris di pandas dengan .loc[]

df2.iloc[760:, :3]

image4.png
Mengisolasi kolom dan baris di pandas dengan .iloc[]

Anda dapat memperbarui/memodifikasi nilai tertentu dengan menggunakan operator penugasan =

df2.loc[df['Age']==81, ['Age']] = 80

Pemotongan bersyarat (yang memenuhi kondisi tertentu)

pandas memungkinkan Anda memfilter data berdasarkan kondisi pada nilai baris/kolom. Misalnya, kode di bawah memilih baris di mana Tekanan Darah tepat 122. Di sini, kita mengisolasi baris menggunakan tanda kurung [ ] seperti terlihat pada bagian sebelumnya. Namun, alih-alih memasukkan indeks baris atau nama kolom, kita memasukkan kondisi di mana kolom BloodPressure sama dengan 122. Kita menyatakan kondisi ini menggunakan df.BloodPressure == 122.

df[df.BloodPressure == 122]

Isolating rows based on a condition in pandas

Mengisolasi baris berdasarkan kondisi di pandas 

Contoh di bawah mengambil semua baris di mana Outcome adalah 1. Di sini df.Outcome memilih kolom tersebut, df.Outcome == 1 mengembalikan Series nilai boolean yang menentukan Outcome mana yang sama dengan 1, lalu [] mengambil subset df di mana Series boolean tersebut bernilai True.

df[df.Outcome == 1]

Isolating rows based on a condition in pandas

Mengisolasi baris berdasarkan kondisi di pandas 

Anda dapat menggunakan operator > untuk membuat perbandingan. Kode di bawah mengambil Pregnancies, Glucose, dan BloodPressure untuk semua rekaman dengan BloodPressure lebih besar dari 100.

df.loc[df['BloodPressure'] > 100, ['Pregnancies', 'Glucose', 'BloodPressure']]

Isolating rows and columns based on a condition in pandas

Mengisolasi baris dan kolom berdasarkan kondisi di pandas 

Membersihkan data menggunakan pandas 

Pembersihan data adalah salah satu tugas paling umum dalam data science. pandas memungkinkan Anda melakukan prapemrosesan data untuk berbagai penggunaan, termasuk namun tidak terbatas pada pelatihan model machine learning dan deep learning. Mari gunakan DataFrame df2 dari sebelumnya, yang memiliki empat nilai hilang, untuk menggambarkan beberapa kasus penggunaan pembersihan data. Sebagai pengingat, berikut cara melihat berapa banyak nilai hilang dalam DataFrame.

df2.isnull().sum()
Pregnancies                 4
Glucose                     0
BloodPressure               0
SkinThickness               0
Insulin                     0
BMI                         0
DiabetesPedigreeFunction    0
Age                         0
Outcome                     0
dtype: int64

Menangani data hilang teknik #1: Menghapus nilai hilang

Salah satu cara menangani data hilang adalah dengan menghapusnya. Ini sangat berguna dalam kasus di mana Anda memiliki banyak data dan kehilangan sebagian kecil tidak akan berdampak pada analisis selanjutnya. Anda dapat menggunakan metode .dropna() seperti di bawah ini. Di sini, kami menyimpan hasil dari .dropna() ke dalam DataFrame df3.

df3 = df2.copy()
df3 = df3.dropna()
df3.shape
(764, 9) # this is 4 rows less than df2

Argumen axis memungkinkan Anda menentukan apakah Anda menghapus baris, atau kolom, dengan nilai hilang. Default axis menghapus baris yang berisi NaN. Gunakan axis = 1 untuk menghapus kolom dengan satu atau lebih nilai NaN. Perhatikan juga bagaimana kami menggunakan argumen inplace=True yang memungkinkan Anda melewatkan penyimpanan output .dropna() ke DataFrame baru.  

df3 = df2.copy()
df3.dropna(inplace=True, axis=1)
df3.head()

Dropping missing data pandas

Menghapus data hilang di pandas

Anda juga dapat menghapus baik baris maupun kolom dengan nilai hilang dengan menyetel argumen how ke 'all'

df3 = df2.copy()
df3.dropna(inplace=True, how='all')

Menangani data hilang teknik #2: Mengganti nilai hilang

Alih-alih menghapus, mengganti nilai hilang dengan statistik ringkasan atau nilai tertentu (tergantung kasus penggunaan) mungkin cara terbaik. Misalnya, jika ada satu baris yang hilang dari kolom suhu yang menunjukkan suhu sepanjang hari dalam seminggu, mengganti nilai hilang tersebut dengan suhu rata-rata minggu itu mungkin lebih efektif daripada menghapus nilai sepenuhnya. Anda dapat mengganti data hilang dengan mean baris, atau kolom menggunakan kode di bawah ini.

df3 = df2.copy()
# Get the mean of Pregnancies
mean_value = df3['Pregnancies'].mean()
# Fill missing values using .fillna()
df3 = df3.fillna(mean_value)

Menangani Data Duplikat

Mari tambahkan beberapa duplikat ke data asli untuk mempelajari cara menghilangkan duplikat dalam DataFrame. Di sini, kami menggunakan metode .concat() untuk menggabungkan baris DataFrame df2 ke DataFrame df2, menambahkan duplikat sempurna dari setiap baris di df2

df3 = pd.concat([df2, df2])
df3.shape
(1536, 9)

Anda dapat menghapus semua baris duplikat (default) dari DataFrame menggunakan metode .drop_duplicates().

df3 = df3.drop_duplicates()
df3.shape
(768, 9)

Mengganti nama kolom

Tugas pembersihan data yang umum adalah mengganti nama kolom. Dengan metode .rename(), Anda dapat menggunakan columns sebagai argumen untuk mengganti nama kolom tertentu. Kode di bawah ini menunjukkan kamus untuk memetakan nama kolom lama dan baru.

df3.rename(columns = {'DiabetesPedigreeFunction':'DPF'}, inplace = True)
df3.head()

Renaming columns in pandas

Mengganti nama kolom di pandas

Anda juga dapat langsung menetapkan nama kolom sebagai list ke DataFrame.

df3.columns = ['Glucose', 'BloodPressure', 'SkinThickness', 'Insulin', 'BMI', 'DPF', 'Age', 'Outcome', 'STF']
df3.head()

Renaming columns in pandas

Mengganti nama kolom di pandas

Untuk lebih lanjut tentang pembersihan data, dan untuk alur kerja pembersihan data yang lebih mudah dan dapat diprediksi, lihat daftar periksa berikut, yang menyediakan serangkaian lengkap tugas pembersihan data umum. 

Analisis data di pandas

Nilai utama pandas terletak pada fungsionalitas analisis data yang cepat. Pada bagian ini, kita akan fokus pada serangkaian teknik analisis yang dapat Anda gunakan di pandas.

Operator ringkasan (mean, modus, median)

Seperti yang Anda lihat sebelumnya, Anda dapat memperoleh mean dari setiap nilai kolom menggunakan metode .mean().

df.mean()

Printing the mean of columns in pandas

Mencetak mean kolom di pandas

Modus dapat dihitung serupa menggunakan metode .mode()

df.mode()

image22.png

Mencetak modus kolom di pandas

Demikian pula, median setiap kolom dihitung dengan metode .median()

df.median()

Printing the median of columns in pandas
Mencetak median kolom di pandas

Membuat kolom baru berdasarkan kolom yang ada 

pandas menyediakan komputasi yang cepat dan efisien dengan menggabungkan dua atau lebih kolom seperti variabel skalar. Kode di bawah ini membagi setiap nilai pada kolom Glucose dengan nilai yang sesuai pada kolom Insulin untuk menghitung kolom baru bernama Glucose_Insulin_Ratio.

df2['Glucose_Insulin_Ratio'] = df2['Glucose']/df2['Insulin']
df2.head()

Create a new column from existing columns in pandas

Buat kolom baru dari kolom yang ada di pandas

Menghitung menggunakan .value_counts()

Sering kali Anda akan bekerja dengan nilai kategorikal, dan Anda ingin menghitung jumlah observasi yang dimiliki setiap kategori dalam suatu kolom. Nilai kategori dapat dihitung menggunakan metode .value_counts(). Di sini, misalnya, kita menghitung jumlah observasi di mana Outcome adalah diabetes (1) dan jumlah observasi di mana Outcome non-diabetes (0).

df['Outcome'].value_counts()

Using .value_counts() in pandas

Menggunakan .value_counts() di pandas

Menambahkan argumen normalize mengembalikan proporsi alih-alih jumlah absolut.

df['Outcome'].value_counts(normalize=True)

Using .value_counts() in pandas with normalization

Menggunakan .value_counts() di pandas dengan normalisasi


Nonaktifkan pengurutan otomatis hasil menggunakan argumen sort (True secara default). Pengurutan default didasarkan pada jumlah dalam urutan menurun.

df['Outcome'].value_counts(sort=False)

Using .value_counts() in pandas with normalization

Menggunakan .value_counts() di pandas dengan pengurutan

Anda juga dapat menerapkan .value_counts() pada objek DataFrame dan kolom tertentu di dalamnya, bukan hanya sebuah kolom. Di sini, misalnya, kita menerapkan value_counts() pada df dengan argumen subset, yang menerima list kolom. 

df.value_counts(subset=['Pregnancies', 'Outcome'])

Using .value_counts() in pandas while subsetting columns

Menggunakan .value_counts() di pandas saat membuat subset kolom

Mengagregasi data dengan .groupby() di pandas

pandas memungkinkan Anda mengagregasi nilai dengan mengelompokkannya berdasarkan nilai kolom tertentu. Anda dapat melakukannya dengan menggabungkan metode .groupby() dengan metode ringkasan pilihan Anda. Kode di bawah menampilkan mean dari masing-masing kolom numerik yang dikelompokkan berdasarkan Outcome.

df.groupby('Outcome').mean()

Aggregating data by one column in pandas

Mengagregasi data berdasarkan satu kolom di pandas

.groupby() memungkinkan pengelompokan berdasarkan lebih dari satu kolom dengan memberikan list nama kolom, seperti ditunjukkan di bawah.

df.groupby(['Pregnancies', 'Outcome']).mean()

Aggregating data by two columns in pandas

Mengagregasi data berdasarkan dua kolom di pandas

Metode ringkasan apa pun dapat digunakan bersama .groupby(), termasuk .min(), .max(), .mean(), .median(), .sum(), .mode(), dan lainnya.

Tabel pivot 

pandas juga memungkinkan Anda menghitung statistik ringkasan sebagai tabel pivot. Ini memudahkan untuk menarik kesimpulan berdasarkan kombinasi variabel. Kode di bawah memilih baris sebagai nilai unik dari Pregnancies, nilai kolom adalah nilai unik dari Outcome, dan sel berisi nilai rata-rata BMI dalam grup yang sesuai.

Misalnya, untuk Pregnancies = 5 dan Outcome = 0, rata-rata BMI adalah 31,1.

pd.pivot_table(df, values="BMI", index='Pregnancies', 
               columns=['Outcome'], aggfunc='mean')

Aggregating data by pivoting with pandas

Mengagregasi data dengan pivot di pandas

Visualisasi data di pandas

pandas menyediakan pembungkus praktis untuk fungsi plotting Matplotlib agar memudahkan visualisasi DataFrame Anda. Di bawah ini, Anda akan melihat cara melakukan visualisasi data umum menggunakan pandas.

Line plot di pandas

pandas memungkinkan Anda memetakan hubungan antar variabel menggunakan line plot. Di bawah ini adalah line plot dari BMI dan Glucose terhadap indeks baris.

df[['BMI', 'Glucose']].plot.line()

Basic lineplot with pandas

Line plot dasar dengan pandas

Anda dapat memilih warna dengan menggunakan argumen color.

df[['BMI', 'Glucose']].plot.line(figsize=(20, 10), 
                                 color={"BMI": "red", "Glucose": "blue"})

Basic line plot with pandas, with custom colors

Line plot dasar dengan pandas, dengan warna kustom

Semua kolom df juga dapat diplot pada skala dan sumbu yang berbeda dengan menggunakan argumen subplots.

df.plot.line(subplots=True)

Subplots for line plots with pandas

Subplot untuk line plot dengan pandas

Bar plot di pandas

Untuk kolom diskrit, Anda dapat menggunakan bar plot atas jumlah kategori untuk memvisualisasikan distribusinya. Variabel Outcome dengan nilai biner divisualisasikan di bawah.

df['Outcome'].value_counts().plot.bar()

Barplots in pandas

Bar plot di pandas

Box plot di pandas

Distribusi kuartil variabel kontinu dapat divisualisasikan menggunakan boxplot. Kode di bawah memungkinkan Anda membuat boxplot dengan pandas.

df.boxplot(column=['BMI'], by='Outcome')

Boxplots in pandas
Box plot di pandas

Pelajari Lebih Lanjut Tentang pandas

Tutorial di atas hanya menggores permukaan dari apa yang mungkin dilakukan dengan pandas. Baik menganalisis data, memvisualisasikannya, memfilter, atau mengagregasinya, pandas menyediakan seperangkat fitur yang sangat kaya yang memungkinkan Anda mempercepat alur kerja data apa pun. Selain itu, dengan menggabungkan pandas dengan paket data science lainnya, Anda akan dapat membuat dasbor interaktif, membuat model prediktif menggunakan machine learning, mengotomatisasi alur kerja data, dan banyak lagi. Lihat sumber daya di bawah untuk mempercepat perjalanan belajar pandas Anda:

pandas FAQs

Apa itu pandas dalam Python?

pandas adalah pustaka manipulasi data yang kuat di Python. Ini menyediakan struktur data dan fungsi yang dibutuhkan untuk memanipulasi data terstruktur, termasuk fungsionalitas untuk memanipulasi dan menganalisis data frame. Ini adalah alat yang tak tergantikan di dunia analisis data dan data science karena memungkinkan pembersihan, transformasi, dan analisis data yang efisien.

Mengapa saya harus belajar pandas?

Jika Anda bekerja dengan data di Python, pandas hampir wajib dipelajari. Ini menyederhanakan proses menangani dan menganalisis data, sehingga Anda dapat fokus pada penggalian wawasan dan menciptakan nilai. Baik Anda menangani dataset kecil maupun skala besar, pandas akan mempermudah pekerjaan Anda dengan kecepatannya, fleksibilitas, dan struktur data yang ramah pengguna.

Bagaimana cara menginstal pandas?

Untuk menginstal pandas, Anda memerlukan Python dan pip (penginstal paket Python) di sistem Anda. Anda kemudian dapat menginstal pandas dengan perintah: pip install pandas. Jika Anda menggunakan Jupyter notebook di lingkungan seperti Anaconda, pandas sudah terpasang sebelumnya.

Apa struktur data dasar di pandas?

Dua struktur data utama di pandas adalah Series dan DataFrame. Series pada dasarnya adalah sebuah kolom, dan DataFrame adalah tabel multi-dimensi yang terdiri dari kumpulan Series. Struktur ini fleksibel, artinya dapat menampung data dengan tipe berbeda (mis., integer, string, float).

Apakah pandas bagus untuk set data besar?

Ya, pandas sangat cocok untuk dataset besar. Ia dirancang untuk analisis data yang efisien, termasuk dataset besar. Namun, perlu diingat bahwa ukuran data yang dapat Anda tangani agak bergantung pada memori sistem Anda. Jika Anda menangani dataset yang sangat besar yang tidak muat di memori, Anda mungkin perlu menggunakan alat atau teknik lain (seperti chunking atau menggunakan dask).

Bagaimana cara mengimpor data ke pandas?

pandas dapat membaca data dari berbagai format file seperti CSV, Excel, basis data SQL, JSON, dan lainnya. Perintah pd.read_csv(), pd.read_excel(), pd.read_sql(), dan pd.read_json() digunakan untuk mengimpor data dari tipe file masing-masing. Semua perintah ini mengembalikan DataFrame, yang dapat Anda manipulasi menggunakan pandas.


Vidhi Chugh's photo
Author
Vidhi Chugh
LinkedIn

Saya adalah Penasihat dan Etikus AI yang bekerja di persimpangan ilmu data, produk, dan rekayasa untuk membangun sistem pembelajaran mesin yang dapat diskalakan. Masuk dalam daftar "200 Inovator Bisnis dan Teknologi Teratas" di dunia, saya memiliki misi untuk mendemokratisasi pembelajaran mesin dan menyederhanakan jargon agar semua orang dapat menjadi bagian dari transformasi ini.

Topik

Lebih banyak kursus pandas

Kursus

Pengantar Python

4 Hr
6.9M
Kuasai dasar-dasar analisis data dengan Python dalam 4 jam. Kursus online ini memperkenalkan antarmuka Python dan pustaka populer.
Lihat DetailRight Arrow
Mulai Kursus
Lihat Lebih BanyakRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat Lebih BanyakLihat Lebih Banyak