Lewati ke konten utama

Tutorial Pandas Drop Duplicates

Pelajari cara menghapus duplikasi di Python menggunakan pandas.
Diperbarui 28 Sep 2026  · 4 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Menghapus duplikasi adalah keterampilan penting untuk mendapatkan hitungan yang akurat karena Anda sering tidak ingin menghitung hal yang sama berkali-kali. Di Python, ini dapat dilakukan dengan menggunakan modul Pandas, yang memiliki metode bernama drop_duplicates.

Mari pahami cara menggunakannya dengan bantuan beberapa contoh.

Menghapus Duplikasi Nama

Misalkan Anda memiliki sebuah dataframe yang memuat kunjungan ke dokter hewan, dan klinik ingin mengetahui berapa banyak anjing dari tiap ras yang telah berkunjung. Namun, ada anjing seperti Max dan Stella yang berkunjung lebih dari sekali dalam dataset Anda. Karenanya, Anda tidak bisa sekadar menghitung jumlah tiap ras di kolom ras.

print(vet_visits)
          date     name        breed  weight_kg
0   2018-09-02    Bella     Labrador      24.87
1   2019-06-07      Max     Labrador      28.35
2   2018-01-17   Stella    Chihuahua       1.51
3   2019-10-19     Lucy    Chow Chow      24.07
..         ...      ...          ...        ...
71  2018-01-20   Stella    Chihuahua       2.83
72  2019-06-07      Max    Chow Chow      24.01
73  2018-08-20     Lucy    Chow Chow      24.40
74  2019-04-22      Max     Labrador      28.54

Untuk mencapai ini, Anda akan menghapus baris yang memuat nama anjing yang sudah tercantum sebelumnya, atau dengan kata lain, Anda akan mengekstrak satu anjing untuk setiap nama dari dataset.

Anda akan melakukannya menggunakan metode drop_duplicates. Metode ini menerima argumen subset, yaitu kolom yang ingin kita jadikan dasar pencarian duplikasi—dalam hal ini, kita ingin semua nama yang unik.

vet_visits.drop_duplicates(subset="name")
          date     name        breed  weight_kg
0   2018-09-02    Bella     Labrador      24.87
1   2019-06-07      Max    Chow Chow      24.01
2   2019-03-19  Charlie       Poodle      24.95
3   2018-01-17   Stella    Chihuahua       1.51
4   2019-10-19     Lucy    Chow Chow      24.07
7   2019-03-30   Cooper    Schnauzer      16.91
10  2019-01-04   Bernie  St. Bernard      74.98
(6  2019-06-07      Max     Labrador      28.35)

Tetapi, bagaimana jika kita memiliki anjing dengan nama yang sama?

Menghapus Duplikasi Pasangan

Dalam kasus tersebut, kita perlu mempertimbangkan lebih dari sekadar name saat menghapus duplikasi. Karena Max dan Max memiliki ras yang berbeda, kita dapat menghapus baris dengan pasangan nama dan ras yang sudah tercantum sebelumnya di dataset.

unique_dogs = vet_visits.drop_duplicates(subset=["name", "breed"])
print(unique_dogs)
          date     name        breed  weight_kg
0   2018-09-02    Bella     Labrador      24.87
1   2019-03-13      Max    Chow Chow      24.13
2   2019-03-19  Charlie       Poodle      24.95
3   2018-01-17   Stella    Chihuahua       1.51
4   2019-10-19     Lucy    Chow Chow      24.07
6   2019-06-07      Max     Labrador      28.35
7   2019-03-30   Cooper    Schnauzer      16.91
10  2019-01-04   Bernie  St. Bernard      74.98

Untuk mendasarkan penghapusan duplikasi pada beberapa kolom, kita dapat memberikan daftar nama kolom ke argumen subset, dalam hal ini, name dan breed.

Sekarang kedua Max sudah termasuk.

Contoh Interaktif

Dalam latihan ini, Anda akan membuat beberapa DataFrame baru menggunakan nilai unik dari sales. sales tersedia, dan pandas diimpor sebagai pd.

Anda akan melakukan langkah-langkah berikut:

  • Pertama, Anda akan menghapus baris sales dengan pasangan duplikat store dan type, menyimpannya sebagai store_types, lalu mencetak head-nya.
  • Kemudian, Anda akan menghapus baris sales dengan pasangan duplikat store dan department, menyimpannya sebagai store_depts, lalu mencetak head-nya.
  • Subset baris yang merupakan pekan libur, lalu hapus dates yang duplikat, menyimpannya sebagai holiday_dates.
  • Terakhir, pilih kolom date dari holiday_dates, dan cetak dataframe holiday_dates.
# Drop duplicate store/type combinations
store_types = sales.drop_duplicates(subset=["store", "type"])
print(store_types.head())

# Drop duplicate store/department combinations
store_depts = sales.drop_duplicates(subset=["store", "department"])
print(store_depts.head())

# Subset the rows that are holiday weeks and drop duplicate dates
holiday_dates = sales[sales["is_holiday"]].drop_duplicates(subset="date")

# Print date col of holiday_dates
print(holiday_dates["date"])

Saat kita menjalankan kode di atas, hasilnya sebagai berikut:

      store type  department       date  weekly_sales  is_holiday  temperature_c  fuel_price_usd_per_l  unemployment
0         1    A           1 2010-02-05      24924.50       False          5.728                 0.679         8.106
901       2    A           1 2010-02-05      35034.06       False          4.550                 0.679         8.324
1798      4    A           1 2010-02-05      38724.42       False          6.533                 0.686         8.623
2699      6    A           1 2010-02-05      25619.00       False          4.683                 0.679         7.259
3593     10    B           1 2010-02-05      40212.84       False         12.411                 0.782         9.765
    store type  department       date  weekly_sales  is_holiday  temperature_c  fuel_price_usd_per_l  unemployment
0       1    A           1 2010-02-05      24924.50       False          5.728                 0.679         8.106
12      1    A           2 2010-02-05      50605.27       False          5.728                 0.679         8.106
24      1    A           3 2010-02-05      13740.12       False          5.728                 0.679         8.106
36      1    A           4 2010-02-05      39954.04       False          5.728                 0.679         8.106
48      1    A           5 2010-02-05      32229.38       False          5.728                 0.679         8.106
498    2010-09-10
691    2011-11-25
2315   2010-02-12
6735   2012-09-07
6810   2010-12-31
6815   2012-02-10
6820   2011-09-09
Name: date, dtype: datetime64[ns]

Coba sendiri.

Untuk mempelajari lebih lanjut tentang penghitungan dan agregasi data, silakan lihat video dari kursus kami Data Manipulation with pandas.

Konten ini diambil dari kursus DataCamp Data Manipulation with pandas oleh Maggie Matsui dan Richie Cotton.

Topik
Python

Pelajari lebih lanjut tentang Python dan pandas

Kursus

Manipulasi Data dengan pandas

4 jam
566.1K
Pelajari cara mengimpor dan membersihkan data, menghitung statistik, serta membuat visualisasi dengan pandas.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight 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 SelengkapnyaLihat Selengkapnya