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
:
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 apakahto_replace
harus diinterpretasikan sebagai ekspresi reguler atau tidak.method
: Menentukan metode yang akan digunakan saat melakukan penggantian. Opsi yang tersedia adalahpad
,ffill
, danbfill
. 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:
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:
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:
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:
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:
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
:
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