Pandas: как фильтровать строки по длине строки


Вы можете использовать следующие методы для фильтрации строк, содержащих строку определенной длины в DataFrame pandas:

Метод 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 )]

В следующих примерах показано, как использовать каждый метод на практике со следующим DataFrame pandas:

 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, длина строки которых в столбце conf равна 5 :

 #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 в зависимости от условия
Как фильтровать DataFrame Pandas по нескольким условиям
Как использовать фильтр «НЕ В» в Pandas DataFrame

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *