Pandas: cara memfilter baris berdasarkan panjang string
Anda dapat menggunakan metode berikut untuk memfilter baris yang berisi string dengan panjang tertentu di pandas DataFrame:
Metode 1: Filter Baris Berdasarkan Panjang String dalam Kolom
#filter rows where col1 has a string length of 5 df. loc [df[' col1 ']. str . len () == 5 ]
Metode 2: Filter baris berdasarkan panjang string dari beberapa kolom
#filter rows where col1 has string length of 5 and col2 has string length of 7 df. loc [(df[' col1 ']. str . len () == 5 ) & (df[' col2 ']. str . len () == 7 )]
Contoh berikut menunjukkan cara menggunakan setiap metode dalam praktik dengan pandas DataFrame berikut:
import pandas as pd #createDataFrame df = pd. DataFrame ({' conf ': ['East', 'East', 'North', 'West', 'North', 'South'], ' pos ': ['Guard', 'Guard', 'Forward', 'Center', 'Center', 'Forward'], ' points ': [5, 7, 7, 9, 12, 9]}) #view DataFrame print (df) conf pos points 0 East Guard 5 1 East Guard 7 2 North Forward 7 3 West Center 9 4 North Center 12 5 South Forward 9
Contoh 1: Filter baris berdasarkan panjang string dalam kolom
Kode berikut menunjukkan cara memfilter baris dari DataFrame yang memiliki panjang string 5 di kolom conf :
#filter rows where conf has a string length of 5 df. loc [df[' conf ']. str . len () == 5 ] conf pos points 2 North Forward 7 4 North Center 12 5 South Forward 9
Hanya baris dengan kolom conf yang memiliki panjang string 5 yang dikembalikan.
Kita dapat melihat bahwa dua string berbeda memenuhi kriteria ini di kolom conf :
- “Utara”
- “Selatan”
Kedua string memiliki panjang 5 .
Contoh 2: Filter baris berdasarkan panjang string dari beberapa kolom
Kode berikut menunjukkan cara memfilter baris dari DataFrame yang memiliki panjang string 5 di kolom conf dan panjang string 7 di kolom pos :
#filter rows where conf has string length of 5 and pos has string length of 7 df. loc [(df[' conf ']. str . len () == 5 ) & (df[' pos ']. str . len () == 7 )] conf pos points 2 North Forward 7 5 South Forward 9
Hanya baris yang kolom conf memiliki panjang string 5 dan kolom pos memiliki panjang gaya 7 yang dikembalikan.
Catatan : Anda dapat menemukan dokumentasi lengkap fungsi str.len() di pandas di sini .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:
Cara menghapus baris di Pandas DataFrame berdasarkan kondisi
Cara memfilter Pandas DataFrame pada berbagai kondisi
Cara menggunakan filter “TIDAK DALAM” di Pandas DataFrame