Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengambil Baris Berdasarkan Nilai Lajur Berbeza dalam Panda?

Bagaimana untuk Mengambil Baris Berdasarkan Nilai Lajur Berbeza dalam Panda?

Barbara Streisand
Barbara Streisandasal
2024-11-04 04:43:01881semak imbas

How to Retrieve Rows Based on Distinct Column Values in Pandas?

Mengambil Baris Berdasarkan Nilai Lajur Yang Berbeza

Dalam senario manipulasi data, menjadi penting untuk mengekstrak baris berdasarkan nilai unik dalam lajur tertentu . Artikel ini akan menunjukkan cara untuk mencapai ini menggunakan Pandas, perpustakaan Python yang popular untuk manipulasi dan analisis data.

Pernyataan Masalah

Pertimbangkan bingkai data dengan dua lajur, COL1 dan COL2. Tugasnya adalah untuk mendapatkan semula baris yang nilai dalam COL2 adalah unik. Contohnya, memandangkan kerangka data di bawah:

COL1 COL2
a.com 22
b.com 45
c.com 34
e.com 45
f.com 56
g.com 22
h.com 45

Output yang diingini adalah untuk mendapatkan baris berdasarkan nilai unik dalam COL2:

COL1 COL2
a.com 22
b.com 45
c.com 34
f.com 56

Penyelesaian: Menggunakan Panda' Kaedah drop_duplicates()

Pustaka Pandas menyediakan kaedah mudah dipanggil drop_duplicates() untuk menyelesaikan tugasan ini. Dengan menyatakan nama lajur dalam hujah, anda boleh menyemak pendua dan mengalih keluar atau menyimpan baris tertentu berdasarkan keperluan anda.

Sebagai contoh, untuk mengalih keluar semua baris pendua berdasarkan nilai COL2, gunakan kod berikut:

<code class="python">import pandas as pd

df = pd.DataFrame({'COL1': ['a.com', 'b.com', 'c.com', 'e.com', 'f.com', 'g.com', 'h.com'],
                   'COL2': [22, 45, 34, 45, 56, 22, 45]})

df = df.drop_duplicates('COL2')

# Displaying the result
print(df)</code>

Ini akan mengeluarkan bingkai data dengan nilai unik dalam COL2:

COL1 COL2
a.com 22
b.com 45
c.com 34
f.com 56

Selain itu, anda boleh menentukan parameter keep untuk mengawal baris pendua yang hendak disimpan. Secara lalai, ia mengekalkan kejadian pertama ('first'), tetapi anda juga boleh menyimpan yang terakhir ('terakhir') atau mengalih keluar semua pendua ('False').

<code class="python"># Keep first occurrence
df = df.drop_duplicates('COL2', keep='first')

# Keep last occurrence
df = df.drop_duplicates('COL2', keep='last')

# Remove all duplicates
df = df.drop_duplicates('COL2', keep=False)</code>

Atas ialah kandungan terperinci Bagaimana untuk Mengambil Baris Berdasarkan Nilai Lajur Berbeza dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn