Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Memadam Baris dengan Cekap dari Bingkai Data Pandas Berdasarkan Nilai Lajur?

Bagaimana untuk Memadam Baris dengan Cekap dari Bingkai Data Pandas Berdasarkan Nilai Lajur?

Mary-Kate Olsen
Lepaskan: 2024-12-18 14:06:10
asal
434 orang telah melayarinya

How to Efficiently Delete Rows from a Pandas DataFrame Based on a Column Value?

Memadamkan Baris DataFrame dalam Panda Berdasarkan Nilai Lajur

Masalah:

Pertimbangkan Pandas DataFrame dengan lajur bernama line_race . Tugasnya ialah untuk mengalih keluar semua baris yang nilai dalam lajur line_race adalah sama dengan 0.

Penyelesaian Cekap:

Untuk mengalih keluar baris dengan cekap berdasarkan nilai lajur tertentu , gunakan langkah berikut:

  1. Import Panda perpustakaan:

    import pandas as pd
    Salin selepas log masuk
  2. Buat DataFrame dengan data yang diberikan:

    data = {
        "line_race": [11, 11, 9, 10, 10, 9, 8, 9, 11, 8, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
        "rating": [56, 67, 66, 83, 88, 52, 66, 70, 68, 72, 65, 70, 64, 70, 70, -1, -1, -1, -1, -1, 69, -1, -1, -1, -1],
        "rw": [1.000000, 1.000000, 1.000000, 0.880678, 0.793033, 0.636655, 0.581946, 0.518825, 0.486226, 0.446667, 0.164591, 0.142409, 0.134800, 0.117803, 0.113758, 0.109852, 0.098919, 0.093168, 0.083063, 0.075171, 0.048690, 0.045404, 0.039679, 0.034160, 0.030915],
        "wrating": [56.000000, 67.000000, 66.000000, 73.096278, 69.786942, 33.106077, 38.408408, 36.317752, 33.063381, 32.160051, 10.698423, 9.968634, 8.627219, 8.246238, 7.963072, -0.109852, -0.098919, -0.093168, -0.083063, -0.075171, 3.359623, -0.045404, -0.039679, -0.034160, -0.030915],
        "line_date": ["2007-03-31", "2007-03-10", "2007-02-10", "2007-01-13", "2006-12-23", "2006-11-09", "2006-10-22", "2006-09-29", "2006-09-16", "2006-08-30", "2006-02-11", "2006-01-13", "2006-01-02", "2005-12-06", "2005-11-29", "2005-11-22", "2005-11-01", "2005-10-20", "2005-09-27", "2005-09-07", "2005-06-12", "2005-05-29", "2005-05-02", "2005-04-02", "2005-03-13", "2004-11-09"]
    }
    
    df = pd.DataFrame(data)
    Salin selepas log masuk
  3. Tapis DataFrame menggunakan kaedah query(), yang lebih pantas daripada menggunakan boolean pengindeksan:

    df_filtered = df.query("line_race != 0")
    Salin selepas log masuk
  4. Sebagai alternatif, anda boleh menggunakan kaedah drop() dengan parameter inplace ditetapkan kepada True:

    df.drop(df.index[df['line_race'] == 0], inplace=True)
    Salin selepas log masuk
  5. DataFrame yang ditapis kemudiannya boleh ditugaskan kepada pembolehubah DataFrame asal atau diperuntukkan kepada pembolehubah baharu pembolehubah.

DataFrame yang dikemas kini tidak lagi akan mengandungi baris dengan lajur line_race bersamaan dengan 0.

Atas ialah kandungan terperinci Bagaimana untuk Memadam Baris dengan Cekap dari Bingkai Data Pandas Berdasarkan Nilai Lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan