Penjelasan sederhana
Semua yang biasa kamu lakukan dengan LEFT, UPPER, FIND, atau Text to Columns di Excel ada di .str, dan langsung berlaku untuk seluruh kolom.
Sintaks
df['kolom'].str.upper()
df['kolom'].str.contains('teks')
df['kolom'].str.split(' ').str[0]
| Bagian | Keterangan |
|---|---|
.str.upper() / .lower() / .title() | Ubah huruf besar-kecil. |
.str.contains() | True kalau teks mengandung kata tertentu. |
.str.split() | Memecah teks; .str[0] mengambil potongan pertama. |
.str.len() | Panjang teks. |
df adalah nama DataFrame (tabel) yang sedang diolah. Contoh di bawah memakai import pandas as pd dan import numpy as np, yang sudah disiapkan otomatis.
Contoh .str
Data contoh: karyawan (sudah tersedia sebagai DataFrame)
DataFrame karyawan
| id | nama | dept_id | kota | gaji | tgl_masuk | atasan_id |
|---|---|---|---|---|---|---|
| 1 | Andi Pratama | 3 | Bandung | 12500000 | 2019-03-11 | NaN |
| 2 | Bunga Lestari | 1 | Jakarta | 9800000 | 2020-07-01 | NaN |
| 3 | Candra Wijaya | 3 | Bandung | 8200000 | 2021-02-15 | 1 |
| 4 | Dewi Anggraini | 2 | Jakarta | 7500000 | 2022-05-09 | 6 |
| 5 | Eko Saputra | 1 | Jakarta | 6900000 | 2023-01-16 | 2 |
| 6 | Fajar Nugroho | 2 | Surabaya | 11000000 | 2018-09-03 | NaN |
| 7 | Gita Permata | 3 | Jakarta | 8200000 | 2023-08-21 | 1 |
| 8 | Hendra Gunawan | NaN | Medan | 5500000 | 2024-04-02 | NaN |
karyawan['nama_depan'] = karyawan['nama'].str.split(' ').str[0]
karyawan['kota_kode'] = karyawan['kota'].str[:3].str.upper()
karyawan[['nama', 'nama_depan', 'kota', 'kota_kode']]
Hasil 8 baris × 4 kolom
| nama | nama_depan | kota | kota_kode |
|---|---|---|---|
| Andi Pratama | Andi | Bandung | BAN |
| Bunga Lestari | Bunga | Jakarta | JAK |
| Candra Wijaya | Candra | Bandung | BAN |
| Dewi Anggraini | Dewi | Jakarta | JAK |
| Eko Saputra | Eko | Jakarta | JAK |
| Fajar Nugroho | Fajar | Surabaya | SUR |
| Gita Permata | Gita | Jakarta | JAK |
| Hendra Gunawan | Hendra | Medan | MED |
Nama depan diambil dari potongan pertama sebelum spasi, dan kode kota dari tiga huruf pertama yang diubah jadi kapital.
Cara kerjanya, langkah demi langkah
.str.split(' ')memecah nama per spasi,.str[0]mengambil kata pertama..str[:3]mengambil 3 huruf pertama kota..str.upper()mengubahnya jadi huruf kapital.
Dipakai untuk apa di kantor?
- Merapikan nama, kode produk, atau alamat.
- Filter teks:
df[df['produk'].str.contains('Kursi')].
Kesalahan yang sering terjadi
- Lupa
.str:df['nama'].upper()akan error. str.contains()membedakan huruf besar-kecil; tambahkancase=Falsekalau perlu.
to_datetime()