Anggap kita mempunyai DataFrame yang mudah seperti yang berikut:
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)]})
Matlamat kami adalah untuk memilih nilai daripada lajur 'A' yang memenuhi kriteria khusus untuk nilai yang sepadan dalam lajur 'B' dan 'C'.
Untuk mencapai ini, kita boleh menggunakan pengindeksan Boolean. Mula-mula, kami mencipta objek Siri Boolean untuk setiap kriteria:
df["B"] > 50 (df["B"] > 50) & (df["C"] != 900)
Siri Boolean ini mewakili baris yang memenuhi kriteria masing-masing. Kami kemudiannya boleh menggunakan Siri ini sebagai indeks untuk memilih nilai yang dikehendaki:
df["A"][df["B"] > 50] df["A"][(df["B"] > 50) & (df["C"] != 900)]
Kami juga boleh menggunakan atribut .loc untuk pengindeksan yang lebih cekap. .loc membolehkan kami menentukan baris dan lajur untuk mendapatkan semula menggunakan satu pernyataan:
df.loc[(df["B"] > 50) & (df["C"] != 900), "A"]
Kedua-dua kaedah memilih nilai secara berkesan daripada DataFrame berdasarkan kriteria yang kompleks. Pilihan antara menggunakan pengindeksan Boolean atau .loc bergantung pada keutamaan peribadi dan kebolehbacaan kod.
Atas ialah kandungan terperinci Bagaimana untuk Memilih Nilai DataFrame Berdasarkan Pelbagai Kriteria dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!