Memilih Baris DataFrame Berdasarkan Nilai Kolom dengan Python

Memilih Baris DataFrame Berdasarkan Nilai Kolom dengan Python
Python

Menggunakan Pandas untuk Memfilter DataFrame berdasarkan Nilai Kolom

Saat bekerja dengan data dengan Python, perpustakaan Pandas menawarkan alat canggih untuk manipulasi dan analisis data. Salah satu tugas umum adalah memilih baris dari DataFrame berdasarkan nilai di kolom tertentu. Operasi ini mirip dengan query SQL: SELECT * FROM table WHERE Column_name = some_value.

Pada artikel ini, kita akan mempelajari cara mencapai hal ini di Pandas menggunakan berbagai metode. Baik Anda memfilter berdasarkan satu nilai atau beberapa kriteria, Pandas menyediakan cara yang intuitif dan efisien untuk menangani operasi tersebut. Mari selami detailnya.

Memerintah Keterangan
pd.DataFrame() Membuat objek DataFrame dari kamus atau struktur data lainnya.
df[condition] Memfilter baris DataFrame berdasarkan suatu kondisi, hanya mengembalikan baris yang memenuhi kriteria.
print() Menghasilkan pesan atau DataFrame tertentu ke konsol.
df['column'] == value Membuat Seri boolean yang digunakan untuk memfilter baris yang kolomnya cocok dengan nilai yang ditentukan.
df['column'] >df['column'] > value Membuat Seri boolean yang digunakan untuk memfilter baris yang nilai kolomnya lebih besar dari nilai yang ditentukan.
# Comment Digunakan untuk menambahkan penjelasan atau catatan di dalam kode, yang tidak dijalankan sebagai bagian dari skrip.

Menerapkan Pemilihan Baris DataFrame di Pandas

Dalam skrip yang disediakan, tugas utamanya adalah memfilter baris dari DataFrame berdasarkan nilai kolom tertentu, yang merupakan persyaratan umum dalam analisis data. Skrip pertama dimulai dengan mengimpor perpustakaan Pandas dengan import pandas as pd. Ini penting karena Pandas adalah pustaka manipulasi data yang kuat dengan Python. Selanjutnya, kita membuat contoh DataFrame menggunakan pd.DataFrame() dengan kamus berisi data nama, umur, dan kota. Struktur ini memungkinkan kita memvisualisasikan dan memanipulasi data tabular dengan mudah. Bagian penting dari skrip adalah tempat kita memfilter baris menggunakan df[df['city'] == 'New York']. Perintah ini memilih semua baris yang nilai kolom kotanya adalah 'New York'. Hasilnya disimpan dalam variabel ny_rows, yang kemudian dicetak untuk menampilkan DataFrame yang difilter.

Skrip kedua mengikuti struktur serupa tetapi berfokus pada pemfilteran baris berdasarkan kondisi numerik. Setelah mengimpor Pandas dan membuat DataFrame dengan kolom produk, harga, dan kuantitas, skrip akan menggunakan df[df['price'] > 150] untuk memfilter baris yang harganya lebih besar dari 150. Perintah ini menghasilkan subset DataFrame asli yang hanya berisi baris yang memenuhi kondisi yang ditentukan. Hasilnya disimpan di expensive_products dan dicetak untuk verifikasi. Kedua skrip tersebut menunjukkan kekuatan dan kesederhanaan Pandas untuk manipulasi data. Dengan menggunakan pengindeksan boolean, yaitu metode yang memasukkan serangkaian nilai benar/salah untuk memfilter data, kita dapat memilih subkumpulan data secara efisien berdasarkan berbagai kondisi, menjadikannya alat yang sangat berharga bagi analis data dan ilmuwan.

Memfilter Baris dalam DataFrame Berdasarkan Nilai Kolom

Python - Menggunakan Pandas untuk Operasi DataFrame

import pandas as pd
# Create a sample DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Edward'],
    'age': [24, 27, 22, 32, 29],
    'city': ['New York', 'Los Angeles', 'New York', 'Chicago', 'Los Angeles']
}
df = pd.DataFrame(data)

# Select rows where city is New York
ny_rows = df[df['city'] == 'New York']
print(ny_rows)

# Output:
#       name  age      city
# 0    Alice   24  New York
# 2  Charlie   22  New York

Mengkueri Baris DataFrame Berdasarkan Nilai Kolom

Python - Pemfilteran Tingkat Lanjut dengan Pandas

import pandas as pd

# Create a sample DataFrame
data = {
    'product': ['A', 'B', 'C', 'D'],
    'price': [100, 150, 200, 250],
    'quantity': [30, 50, 20, 40]
}
df = pd.DataFrame(data)

# Select rows where price is greater than 150
expensive_products = df[df['price'] > 150]
print(expensive_products)

# Output:
#   product  price  quantity
# 2       C    200        20
# 3       D    250        40

Teknik Tingkat Lanjut untuk Memilih Baris DataFrame

Selain pemfilteran dasar dengan pengindeksan boolean, Pandas menawarkan teknik lebih lanjut untuk memilih baris berdasarkan nilai kolom. Salah satu metode tersebut adalah query() fungsi, yang memungkinkan Anda menggunakan sintaksis mirip SQL untuk memfilter baris DataFrame. Misalnya, Anda bisa menggunakan df.query('age > 25 and city == "New York"') untuk memilih baris yang usianya lebih dari 25 tahun dan kotanya adalah New York. Metode ini dapat membuat kode Anda lebih mudah dibaca, terutama untuk kondisi yang kompleks. Selain itu, Pandas menyediakan loc[] Dan iloc[] pengakses untuk pemilihan baris yang lebih tepat. Itu loc[] pengakses berbasis label, artinya Anda dapat memfilter baris berdasarkan labelnya atau array boolean. Sebaliknya, iloc[] pengakses berbasis posisi bilangan bulat, memungkinkan Anda memfilter baris berdasarkan posisi indeksnya.

Fitur canggih lainnya di Pandas adalah kemampuan untuk memfilter baris DataFrame menggunakan isin() metode. Metode ini berguna ketika Anda perlu memfilter baris berdasarkan daftar nilai. Misalnya, df[df['city'].isin(['New York', 'Los Angeles'])] memilih baris yang nilai kolom kotanya adalah New York atau Los Angeles. Selain itu, Anda dapat merangkai beberapa kondisi menggunakan & Dan | operator untuk membuat filter yang lebih kompleks. Contohnya, df[(df['age'] > 25) & (df['city'] == 'New York')] memfilter baris yang usianya lebih dari 25 tahun dan kotanya adalah New York. Teknik-teknik canggih ini memberikan kerangka kerja yang kuat untuk pemfilteran data, menjadikan Pandas alat serbaguna untuk analisis dan manipulasi data.

Pertanyaan Umum Tentang Memilih Baris DataFrame di Pandas

  1. Bagaimana cara memfilter baris dalam DataFrame berdasarkan beberapa nilai kolom?
  2. Anda dapat menggunakan pengindeksan boolean dengan beberapa kondisi yang digabungkan menggunakan & Dan |. Misalnya: df[(df['age'] > 25) & (df['city'] == 'New York')].
  3. Apa perbedaan antara loc[] Dan iloc[]?
  4. loc[] berbasis label, sementara iloc[] berbasis posisi bilangan bulat. Menggunakan loc[] untuk memfilter berdasarkan label dan iloc[] untuk memfilter berdasarkan posisi indeks.
  5. Bagaimana saya bisa menggunakan query() berfungsi untuk memfilter baris DataFrame?
  6. Itu query() fungsi memungkinkan Anda menggunakan sintaksis mirip SQL. Misalnya: df.query('age > 25 and city == "New York"').
  7. Bisakah saya memfilter baris berdasarkan daftar nilai?
  8. Ya, Anda dapat menggunakan isin() metode. Misalnya: df[df['city'].isin(['New York', 'Los Angeles'])].
  9. Apa cara terbaik untuk memfilter baris berdasarkan pencocokan string?
  10. Anda dapat menggunakan str.contains() metode. Misalnya: df[df['city'].str.contains('New')].
  11. Bagaimana cara memilih baris yang nilai kolomnya tidak ada?
  12. Anda dapat menggunakan isna() metode. Misalnya: df[df['age'].isna()].
  13. Bagaimana cara memfilter baris menggunakan fungsi khusus?
  14. Anda dapat menggunakan apply() metode dengan fungsi lambda. Misalnya: df[df.apply(lambda row: row['age'] > 25, axis=1)].
  15. Bisakah saya memfilter baris berdasarkan nilai indeks?
  16. Ya, Anda dapat menggunakan index.isin() metode. Misalnya: df[df.index.isin([1, 3, 5])].

Poin Penting untuk Pemilihan Baris DataFrame

Memilih baris dari DataFrame berdasarkan nilai kolom adalah keterampilan mendasar dalam analisis data dengan Pandas. Memanfaatkan pengindeksan boolean, loc[], iloc[], query(), Dan isin() metode memungkinkan pemfilteran data yang efisien. Menguasai teknik ini meningkatkan kemampuan Anda untuk memanipulasi dan menganalisis kumpulan data secara efektif.