Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Memilih Baris DataFrame Pandas Berdasarkan Kriteria Berbilang Lajur Kompleks?

Bagaimana untuk Memilih Baris DataFrame Pandas Berdasarkan Kriteria Berbilang Lajur Kompleks?

DDD
DDDasal
2024-12-01 21:07:11580semak imbas

How to Select Pandas DataFrame Rows Based on Complex Multi-Column Criteria?

Memilih dengan kriteria kompleks daripada panda.DataFrame

Dalam analisis data menggunakan Panda, kita selalunya perlu memilih baris atau lajur tertentu berdasarkan kompleks kriteria. Soalan ini menunjukkan cara memilih nilai daripada lajur 'A' yang diberi nilai sepadan untuk 'B' dan 'C' memenuhi syarat tertentu.

Untuk memahami masalah, mari buat contoh DataFrame:

import pandas as pd
from random import randint

df = pd.DataFrame({'A': [randint(1, 9) for x in range(10)],
                   'B': [randint(1, 9)*10 for x in range(10)],
                   'C': [randint(1, 9)*100 for x in range(10)]})

Sekarang, kami ingin memilih nilai daripada 'A' yang memenuhi syarat berikut:

  • Nilai yang sepadan untuk 'B' hendaklah lebih besar daripada 50.
  • Nilai yang sepadan untuk 'C' tidak boleh sama dengan 900.

Untuk menyelesaikannya, kita boleh menggunakan operasi lajur Pandas:

df["B"] > 50

Ini mencipta objek Siri boolean di mana setiap elemen sepadan dengan baris dalam 'B' dan menunjukkan sama ada 'B' masing-masing nilai lebih besar daripada 50.

(df["B"] > 50) & (df["C"] != 900)

Ini memanfaatkan operator penyiaran dan logik untuk menggabungkan objek Siri boolean, mencipta Siri baharu di mana setiap elemen menunjukkan sama ada baris yang sepadan memenuhi kedua-dua syarat.

Menggunakan Siri ini sebagai indeks, kita boleh mengekstrak nilai 'A':

df["A"][(df["B"] > 50) & (df["C"] != 900)]

Sebagai alternatif, menggunakan sintaks .loc:

df.loc[(df["B"] > 50) & (df["C"] != 900), "A"]

Pendekatan ini dengan cekap mengekstrak baris yang memenuhi kriteria yang ditentukan, membolehkan analisis atau operasi lanjut pada data yang dipilih.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris DataFrame Pandas Berdasarkan Kriteria Berbilang Lajur Kompleks?. 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
Artikel sebelumnya:Python Day-Looping-teka-tekiArtikel seterusnya:Python Day-Looping-teka-teki