Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengalih keluar Lajur Pendua dalam Panda?

Bagaimana untuk Mengalih keluar Lajur Pendua dalam Panda?

Linda Hamilton
Linda Hamiltonasal
2024-11-01 20:17:02887semak imbas

How to Remove Duplicate Columns in Pandas?

Cara Mengalih Keluar Lajur Pendua dalam Panda

Jika anda berurusan dengan DataFrame yang mempunyai lajur pendua, anda mungkin mahu mengalih keluarnya untuk ketekalan data atau tujuan analisis. Berikut ialah penyelesaian yang mudah untuk mencapainya:

<code class="python">df = df.loc[:,~df.columns.duplicated()].copy()</code>

Mekanisme:

  • df.columns.duplicated() mencipta tatasusunan Boolean dengan True menunjukkan pendua nama lajur dan Palsu menunjukkan nama unik.
  • Menggunakan ~ (penafian logik) membalikkan tatasusunan ini, memilih hanya lajur tidak pendua.
  • df.loc[:,...] menggunakan Pengindeksan Boolean untuk memilih lajur tidak pendua ini, dengan berkesan mengalih keluar pendua.
  • Salin() memastikan bahawa DataFrame baharu dibuat dengan pendua yang dialih keluar, menjadikan DataFrame asal tidak terjejas.

Nota: Kaedah ini menyemak pendua berdasarkan nama lajur, bukan nilai lajur.

Pendekatan Alternatif:

Mengalih Keluar Duplikat Indeks:

<code class="python">df = df.loc[~df.index.duplicated(),:].copy()</code>

Ini mengalih keluar sebarang baris pendua menggunakan mekanisme yang serupa seperti di atas, tetapi ia menyemak indeks dan bukannya nama lajur.

Mengalih Keluar Pendua mengikut Nilai ( Awas):

<code class="python">df = df.loc[:,~df.apply(lambda x: x.duplicated(),axis=1).all()].copy()</code>

Pendekatan ini mengimbas setiap lajur dan mengalih keluarnya jika semua nilai dalam lajur itu diduplikasi. Walau bagaimanapun, ia harus digunakan dengan berhati-hati kerana ia menyemak nilai, bukan nama lajur dan mungkin tidak menghasilkan hasil yang diingini dalam semua kes.

Atas ialah kandungan terperinci Bagaimana untuk Mengalih keluar Lajur Pendua 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