Pandas String – Method replace()

Melanjutkan dari modul sebelumnya, kita akan bahas method replace() yang berfungsi mengganti isi string.

Pertama kita load library dan data yang digunakan.

import pandas as pd

df = pd.read_csv("chicago.csv")
df["Department"] = df["Department"].astype("category")
df.head()

Parameter yang umum digunakan dari fungsi replace() adalah:

  • target: target string yang akan diganti, atau dapat berupa regular expression.
  • replace: string yang akan digunakan untuk replacement.
  • n: jumlah replacement yang akan dilakukan dari awal.
  • case: case sensitive, default adalah None. Jika target adalah string default adalah True.

Berikut contoh mengganti Kata MGMT pada kolom Department.

df["Department"].str.replace("MGMNT", "MANAGEMENT")
0        WATER MANAGEMENT
1                  POLICE
2                  POLICE
3        GENERAL SERVICES
4        WATER MANAGEMENT
               ...       
32058              POLICE
32059              POLICE
32060              POLICE
32061                DoIT
32062                 NaN
Name: Department, Length: 32063, dtype: object

Contoh berikutnya adalah mengganti tanda $ pada kolom salary, kemudian diubah tipe datanya menjadi float.

df["Employee Annual Salary"].str.replace("$", "").astype("float")
0         90744.0
1         84450.0
2         84450.0
3         89880.0
4        106836.0
           ...   
32058     87384.0
32059     84450.0
32060     87384.0
32061    113664.0
32062         NaN
Name: Employee Annual Salary, Length: 32063, dtype: float64

Assign perubahan diatas ke masing-masing kolom yang bersangkutan.

df["Department"] = df["Department"].str.replace("MGMNT", "MANAGEMENT")
df["Employee Annual Salary"] = df["Employee Annual Salary"].str.replace("$", "").astype("float")

Karena kolom salary sudah diubah menjadi float, kita bisa lakukan operasi matematik. Contoh menghitung rata-rata.

df["Employee Annual Salary"].mean()

#akan mengembalikan 80204.178633899

Atau kita bisa lakukan method describe pada kolom salary untuk mengetahui data-data statistik dari salary.

df["Employee Annual Salary"].describe()
count     32062.000000
mean      80204.178634
std       25098.329868
min           0.960000
25%       72862.400000
50%       84450.000000
75%       93240.000000
max      300000.000000
Name: Employee Annual Salary, dtype: float64

Pada tutorial ini tidak akan dibahas string replacement yang komplek. Silakan lihat tutorial Regular Expression di https://skillplus.web.id/regular-expression-menggunakan-python/ untuk string replacement yang lebih advance.

Sharing is caring:

Leave a Comment