Pandas: як фільтрувати рядки на основі довжини рядка


Ви можете використовувати наступні методи для фільтрації рядків, що містять рядок певної довжини в pandas DataFrame:

Спосіб 1: фільтрування рядків на основі довжини рядка в стовпці

 #filter rows where col1 has a string length of 5
df. loc [df[' col1 ']. str . len () == 5 ]

Спосіб 2. Фільтруйте рядки на основі довжини рядка кількох стовпців

 #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 )]

Наступні приклади показують, як використовувати кожен метод на практиці з такими pandas DataFrame:

 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

Приклад 1: фільтрування рядків на основі довжини рядка в стовпці

Наступний код показує, як фільтрувати рядки з DataFrame, які мають довжину рядка 5 у стовпці 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

Повертаються лише ті рядки, де стовпець conf має довжину рядка 5 .

Ми бачимо, що два різні рядки відповідають цьому критерію в стовпці conf :

  • «Північ»
  • «Південь»

Обидва рядки мають довжину 5 .

Приклад 2: фільтрування рядків на основі довжини рядка кількох стовпців

Наступний код показує, як фільтрувати рядки з DataFrame, які мають довжину рядка 5 у стовпці conf і довжину рядка 7 у стовпці 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

Повертаються лише ті рядки, де стовпець conf має довжину рядка 5 , а стовпець pos має довжину force 7 .

Примітка : ви можете знайти повну документацію функції str.len() у pandas тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в pandas:

Як видалити рядки в Pandas DataFrame на основі умови
Як відфільтрувати Pandas DataFrame за кількома умовами
Як використовувати фільтр «NOT IN» у Pandas DataFrame

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *