Traffine I/O

Bahasa Indonesia

2022-12-18

Metode Replace dalam Pandas DataFrame

Metode Replace dalam Pandas DataFrame

Pandas DataFrame adalah struktur data yang fleksibel dalam Python yang memungkinkan manipulasi dan analisis data terstruktur dengan mudah. Di antara beragam alat yang disediakan oleh pustaka ini, metode replace dalam DataFrame sangat kuat. Metode ini memungkinkan kita untuk mengganti nilai tertentu, atau daftar nilai, dengan nilai atau daftar nilai lainnya. Fungsionalitas ini sangat berguna dalam pembersihan data, di mana kita mengganti atau menghapus nilai-nilai tertentu yang dapat berdampak negatif pada analisis atau model kita.

Sintaks dan Parameter

Metode replace dilengkapi dengan berbagai opsi yang diatur melalui parameter-parameternya. Berikut adalah sintaks dasar dari metode replace:

python
DataFrame.replace(
  to_replace=None,
  value=None,
  inplace=False,
  limit=None,
  regex=False,
  method='pad'
)

Fungsi replace dilengkapi dengan beberapa parameter yang mengontrol perilakunya:

  • to_replace: Menentukan nilai yang perlu diganti. Ini dapat berupa satu nilai, daftar nilai, atau pola regex.
  • value: Menentukan nilai baru yang akan menggantikan nilai yang ada.
  • inplace: Jika diatur ke True, DataFrame asli akan diubah, dan metode akan mengembalikan None. Jika diatur ke False (default), DataFrame baru akan dikembalikan.
  • limit: Mengontrol batasan ukuran maksimum untuk pengisian maju atau mundur saat melakukan pengindeksan ulang.
  • regex: Parameter boolean yang menentukan apakah to_replace harus diinterpretasikan sebagai ekspresi reguler atau tidak.
  • method: Menentukan metode yang akan digunakan saat melakukan penggantian. Opsi yang tersedia adalah pad, ffill, dan bfill. Parameter ini bersifat opsional.

Contoh Penggunaan Metode Replace

Penggantian Nilai Tunggal

Jika Anda ingin mengganti satu nilai dalam DataFrame Anda, Anda dapat menggunakan metode replace seperti yang ditunjukkan di bawah ini:

python
df.replace(to_replace=nilai_lama, value=nilai_baru)

Di sini, nilai_lama adalah nilai yang ingin Anda ganti, dan nilai_baru adalah nilai yang ingin Anda gantikan.

Penggantian Nilai Ganda

Anda dapat mengganti beberapa nilai dalam DataFrame dalam satu panggilan dengan mengirimkan daftar nilai ke to_replace dan value:

df.replace(to_replace=[nilai_lama1, nilai_lama2], value=[nilai_baru1, nilai_baru2])

Perintah ini akan menggantikan nilai_lama1 dengan nilai_baru1, dan nilai_lama2 dengan nilai_baru2.

Penggantian Menggunakan Ekspresi Reguler

Metode replace juga mendukung ekspresi reguler, yang memungkinkan Anda mengganti pola bukan nilai spesifik:

python
df.replace(to_replace=r'^test.*', value='nilai_baru', regex=True)

Perintah ini akan menggantikan nilai apa pun dalam DataFrame yang diawali dengan 'test' dengan 'nilai_baru'.

Penggantian Menggunakan Kamus

Juga mungkin untuk menggunakan kamus untuk penggantian. Kunci-kunci akan menjadi nilai yang ingin Anda ganti, dan nilai-nilai kamus akan menjadi nilai baru:

python
df.replace({'A': {0: 100, 4: 400}})

Dalam perintah ini, nilai 0 dan 4 pada kolom 'A' diganti dengan 100 dan 400 secara berturut-turut.

Penggantian di Seluruh DataFrame

Anda dapat menerapkan metode replace pada seluruh DataFrame, bukan hanya satu kolom:

python
df.replace(0, -1)

Di sini, semua kemunculan angka 0 di seluruh DataFrame akan diganti dengan -1.

Penggantian NaN

Salah satu penggunaan umum metode replace adalah mengisi nilai NaN dalam DataFrame:

python
df.replace(np.NaN, 0)

Dalam contoh ini, semua nilai NaN (Not a Number) dalam DataFrame akan diganti dengan 0.

Penggantian di Inplace

Secara default, metode replace tidak mengubah DataFrame asli. Sebaliknya, metode ini mengembalikan DataFrame baru dengan penggantian tersebut. Jika Anda ingin metode tersebut mengubah DataFrame di tempat, Anda dapat menggunakan parameter inplace=True:

python
df.replace(to_replace=nilai_lama, value=nilai_baru, inplace=True)

Ini akan menggantikan nilai lama dengan nilai_baru langsung di DataFrame asli. Perlu diperhatikan bahwa metode ini mengembalikan None dalam kasus ini.

Referensi

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.replace.html

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!