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

Tambahkan komentar

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