Вы можете использовать следующие методы для фильтрации строк, содержащих строку определенной длины в кадре данных 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:
import pandas as pd
#create DataFrame
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 имеет длину строки 7 .
Примечание.Полную документацию по функции str.len() в pandas можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:
Как удалить строки в Pandas DataFrame на основе условия
Как фильтровать кадр данных Pandas по нескольким условиям
Как использовать фильтр «НЕ В» в Pandas DataFrame