Pandas: cara memilih kolom berdasarkan kondisi


Anda dapat menggunakan metode berikut untuk memilih kolom di pandas DataFrame berdasarkan ketentuan:

Metode 1: pilih kolom dengan setidaknya satu baris yang memenuhi kondisi

 #select columns where at least one row has a value greater than 2
df. loc [:, (df > 2 ). any ()]

Metode 2: Pilih kolom yang semua barisnya memenuhi ketentuan

 #select columns where all rows have a value greater than 2
df. loc [:, (df > 2 ). all ()]

Metode 3: pilih kolom dengan setidaknya satu baris yang memenuhi beberapa kondisi

 #select columns where at least one row has a value between 10 and 15
df. loc [:, ((df>= 10 ) & (df<= 15 )). any ()]

Contoh berikut menunjukkan cara menggunakan setiap metode dengan pandas DataFrame berikut:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' apples ': [7, 3, 3, 4, 3],
                   ' oranges ': [2, 0, 2, 0, 1],
                   ' bananas ': [5, 0, 4, 0, 12]},
                    index=[' Farm1 ',' Farm2 ',' Farm3 ',' Farm4 ',' Farm5 '])

#view DataFrame
print (df)

       apples oranges bananas
Farm1 7 2 5
Farm2 3 0 0
Farm3 3 2 4
Farm4 4 0 0
Farm5 3 1 12

Contoh 1: pilih kolom yang setidaknya satu barisnya memenuhi ketentuan

Kita dapat menggunakan kode berikut untuk memilih kolom dari DataFrame yang mana setidaknya satu baris dalam kolom tersebut memiliki nilai lebih besar dari 2:

 #select columns where at least one row has a value greater than 2
df. loc [:, (df > 2 ). any ()]

	apples bananas
Farm1 7 5
Farm2 3 0
Farm3 3 4
Farm4 0 0
Farm5 3 12

Perhatikan bahwa kolom apel dan pisang keduanya dikembalikan karena kolom ini memiliki setidaknya satu baris dengan nilai lebih besar dari 2.

Contoh 2: Pilih kolom yang semua barisnya memenuhi ketentuan

Kita dapat menggunakan kode berikut untuk memilih kolom dari DataFrame di mana setiap baris dalam kolom memiliki nilai lebih besar dari 2:

 #select columns where every row has a value greater than 2
df. loc [:, (df > 2 ). all ()]

	apples
Farm1 7
Farm2 3
Farm3 3
Farm4 4
Farm5 3

Perhatikan bahwa hanya kolom apel yang dikembalikan karena ini adalah satu-satunya kolom yang setiap baris dalam kolomnya memiliki nilai lebih besar dari 2.

Contoh 3: pilih kolom yang setidaknya satu barisnya memenuhi beberapa kondisi

Kita dapat menggunakan kode berikut untuk memilih kolom dari DataFrame yang mana setidaknya satu baris dalam kolom tersebut memiliki nilai antara 10 dan 15:

 #select columns where every row has a value greater than 2
df. loc [:, ((df>= 10 ) & (df<= 15 )). any ()]

	bananas
Farm1 5
Farm2 0
Farm3 4
Farm4 0
Farm5 12

Perhatikan bahwa hanya kolom bananas yang dikembalikan karena ini adalah satu-satunya kolom yang setidaknya satu baris dalam kolom tersebut memiliki nilai antara 10 dan 15.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:

Cara memilih kolom berdasarkan nama di Pandas
Cara memilih kolom berdasarkan indeks di Pandas
Cara memilih kolom yang berisi string tertentu di Pandas

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *