Metode Series yang Berguna
Gunakan describe(), value_counts(), unique(), dan map() untuk meringkas serta mengubah Series dengan cepat
Metode Series yang Berguna adalah pelajaran Pandas & NumPy Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Pandas & NumPy Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Pandas & NumPy Academy mencakup 4 pelajaran total.
Ringkasan Cepat dengan describe()
s.describe() menghasilkan ringkasan statistik dalam satu pemanggilan: jumlah data, rata-rata, simpangan baku, min, persentil ke-25 (Q1), median (Q2), persentil ke-75 (Q3), dan max. Untuk Series string, metode ini mengembalikan jumlah data, jumlah nilai unik, nilai yang paling sering muncul, dan frekuensinya. Ini adalah cara tercepat untuk memahami distribusi suatu kolom saat pertama kali menjelajahi dataset.
import pandas as pd
ages = pd.Series([25, 32, 19, 45, 28, 31, 22, 40])
print(ages.describe())
# count 8.000000
# mean 30.250000
# std 8.406...
# min 19.000000
# 25% 24.250000
# 50% 29.500000
# 75% 34.750000
# max 45.000000value_counts() untuk Tabel Frekuensi
s.value_counts() mengembalikan Series baru dengan nilai unik sebagai indeks dan jumlah kemunculannya sebagai data, yang diurutkan menurun berdasarkan jumlah. Berikan normalize=True untuk memperoleh proporsi, bukan jumlah mentah. Ini adalah langkah pertama yang sebaiknya dilakukan pada kolom kategorikal untuk memahami distribusinya.
import pandas as pd
colors = pd.Series(['red', 'blue', 'red', 'green', 'blue', 'red'])
print(colors.value_counts())
# red 3
# blue 2
# green 1
print(colors.value_counts(normalize=True).round(2))
# red 0.50 blue 0.33 green 0.17unique() dan nunique()
s.unique() mengembalikan array NumPy berisi nilai-nilai berbeda dalam urutan kemunculan pertama (berbeda dari value_counts yang mengurutkan berdasarkan frekuensi). s.nunique() mengembalikan jumlah nilai berbeda sebagai bilangan bulat — yaitu kardinalitas kolom. Keduanya melewati NaN secara default. Gunakan nunique(dropna=False) untuk menghitung NaN sebagai nilai yang berbeda.
import pandas as pd
s = pd.Series(['apple', 'banana', 'apple', 'cherry', 'banana'])
print(s.unique()) # ['apple' 'banana' 'cherry']
print(s.nunique()) # 3map() untuk Transformasi per Elemen
s.map() menerapkan fungsi, kamus, atau Series lain ke setiap elemen. Jika Anda memberikan kamus, setiap nilai diganti dengan nilai yang sesuai dalam kamus, sedangkan nilai yang tidak ada dalam kamus menjadi NaN. Jika Anda memberikan fungsi, fungsi tersebut diterapkan pada setiap elemen. map ideal untuk mengodekan ulang label kategorikal atau menerapkan tabel pencarian.
import pandas as pd
grades = pd.Series(['A', 'B', 'C', 'A', 'B'])
gpa = {'A': 4.0, 'B': 3.0, 'C': 2.0}
print(grades.map(gpa))
# 0 4.0
# 1 3.0
# 2 2.0
# 3 4.0
# 4 3.0apply() untuk Fungsi Khusus
s.apply(func) menerapkan callable Python ke setiap elemen dan mengumpulkan hasilnya. Berbeda dari map(), metode ini dirancang untuk fungsi yang lebih kompleks dan mungkin mengembalikan objek nonskalar. Untuk transformasi sederhana pada setiap elemen, pilih map() atau ekspresi terv vektorisasi; gunakan apply() ketika logikanya terlalu kompleks untuk divektorisasi secara langsung.
import pandas as pd
sentences = pd.Series(['Hello world', 'Pandas is great', 'Data science'])
word_counts = sentences.apply(lambda x: len(x.split()))
print(word_counts)
# 0 2
# 1 3
# 2 2sort_values() dan sort_index()
s.sort_values() mengembalikan Series yang diurutkan berdasarkan nilai data secara menaik (berikan ascending=False untuk urutan menurun). s.sort_index() mengurutkan berdasarkan label indeks. Secara default, tidak ada yang mengubah Series asli. Berikan inplace=True untuk mengubahnya secara langsung (kurang disarankan dalam kode Pandas modern yang merangkai operasi).
import pandas as pd
s = pd.Series([30, 10, 50, 20], index=['d', 'a', 'c', 'b'])
print(s.sort_values())
# a 10
# b 20
# d 30
# c 50
print(s.sort_index())
# a 10
# b 20
# c 50
# d 30isin() untuk Menguji Keanggotaan
s.isin(values) mengembalikan boolean Series yang bernilai True di setiap posisi elemen yang terdapat dalam daftar atau set yang diberikan. Cara ini lebih mudah dibaca daripada menggunakan beberapa kondisi | dan jauh lebih cepat untuk set berukuran besar. Cara ini umum digunakan untuk memfilter baris yang termasuk dalam kelompok tertentu atau menandai catatan yang cocok dengan daftar pencarian.
import pandas as pd
countries = pd.Series(['DE', 'US', 'FR', 'UK', 'US', 'DE'])
nordics = ['DE', 'FR']
print(countries.isin(nordics))
# 0 True 1 False 2 True 3 False 4 False 5 True
print(countries[countries.isin(nordics)])between() untuk Memfilter Rentang
s.between(left, right, inclusive='both') mengembalikan boolean Series yang bernilai True ketika nilainya berada dalam rentang [left, right]. Secara bawaan, kedua batas rentang disertakan. Cara ini lebih ringkas daripada menulis (s >= left) & (s <= right) dan menyampaikan maksud kode dengan jelas. Berguna untuk memfilter rentang numerik seperti kelompok usia atau kisaran harga.
import pandas as pd
scores = pd.Series([45, 72, 83, 91, 55, 68])
pass_mask = scores.between(60, 100)
print(pass_mask)
# 0 False 1 True 2 True 3 True 4 False 5 True
print(scores[pass_mask].values) # [72 83 91 68]head() dan tail() untuk Pemeriksaan Cepat
s.head(n) mengembalikan n elemen pertama (secara bawaan 5), sedangkan s.tail(n) mengembalikan n elemen terakhir. Keduanya sangat sering digunakan saat menjelajahi data untuk melihat sekilas bagian awal dan akhir Series yang panjang tanpa mencetak ribuan baris. Keduanya mengembalikan Series baru (potongan), sehingga tidak mengubah Series asli.
import pandas as pd
s = pd.Series(range(100))
print(s.head(3))
# 0 0
# 1 1
# 2 2
print(s.tail(3))
# 97 97
# 98 98
# 99 99rename() untuk Mengubah Nama
s.rename('new_name') mengembalikan Series baru dengan atribut name yang berbeda. Untuk mengganti nama label indeks, berikan dict atau fungsi: s.rename(index={'old': 'new'}). Penggantian nama penting sebelum menggabungkan Series ke dalam DataFrame, karena name pada Series menjadi tajuk kolom. Selalu gunakan rename, bukan menetapkan ulang nilai mentah.
import pandas as pd
s = pd.Series([1, 2, 3], index=['a', 'b', 'c'], name='original')
renamed = s.rename('updated').rename(index={'a': 'x', 'b': 'y', 'c': 'z'})
print(renamed)
# x 1
# y 2
# z 3
# Name: updatedidxmin() dan idxmax()
s.idxmin() mengembalikan label indeks dari nilai minimum, sedangkan s.idxmax() mengembalikan label dari nilai maksimum. Cara ini lebih berguna daripada argmin/argmax ketika indeks memiliki label bermakna seperti tanggal atau nama produk—Anda mendapatkan pengenal sebenarnya, bukan hanya nomor posisi.
import pandas as pd
scores = pd.Series({'Alice': 88, 'Bob': 73, 'Carol': 95, 'Dan': 60})
print('Best:', scores.idxmax(), scores.max()) # Carol 95
print('Worst:', scores.idxmin(), scores.min()) # Dan 60Pemeriksaan Cepat
Uji pemahaman Anda tentang berbagai metode Series yang berguna dari pelajaran ini.
Ringkasan Pelajaran
Dalam pelajaran ini Anda telah mempelajari: describe() menyediakan ringkasan statistik dalam satu pemanggilan, value_counts() membuat tabel frekuensi nilai unik, dan map() menerjemahkan nilai menggunakan dict, sedangkan apply() menjalankan fungsi khusus pada setiap elemen. Selanjutnya kita mulai bekerja dengan DataFrames—struktur utama dua dimensi untuk analisis data Pandas.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Metode Series yang Berguna” gratis?
Ya — teks lengkap “Metode Series yang Berguna” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Pandas & NumPy Academy, upgrade ke CoddyKit PRO. Kursus Pandas & NumPy Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Metode Series yang Berguna”?
Gunakan describe(), value_counts(), unique(), dan map() untuk meringkas serta mengubah Series dengan cepat Kamu berlatih Pandas & NumPy Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Pandas & NumPy Academy?
Tidak diperlukan pengalaman sebelumnya. Pandas & NumPy Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Metode Series yang Berguna” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Pandas & NumPy Academy ini?
Ya. Setiap pelajaran Pandas & NumPy Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Membuat Series
- Akses Berbasis Label dan Posisi
- Operasi Vektorisasi pada Series
- Metode Series yang Berguna