Pandas: como selecionar linhas que não começam com uma string


Você pode usar a seguinte sintaxe básica para selecionar linhas que não começam com uma string específica em um DataFrame do pandas:

 df[~df. my_column . str . startswith ((' this ', ' that '))]

Esta fórmula específica seleciona todas as linhas no DataFrame onde a coluna chamada my_column não começa com a string this ou a string that .

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: selecione linhas que não começam com uma string no Pandas

Digamos que temos o seguinte DataFrame do pandas que contém informações de vendas de várias lojas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['Upper East', 'Upper West', 'Lower East', 'West', 'CTR'],
                   ' sales ': [150, 224, 250, 198, 177]})

#view DataFrame
print (df)

        blind sales
0 Upper East 150
1 Upper West 224
2 Lower East 250
3 West 198
4 CTR 177     

Podemos usar a seguinte sintaxe para selecionar todas as linhas no DataFrame que não começam com as strings “Upper” ou “Lower” na coluna store :

 #select all rows where store does not start with 'Upper' or 'Lower'
df[~df. blind . str . startswith ((' Upper ',' Lower '))]

	blind sales
3 West 198
4 CTR 177

Observe que as únicas linhas retornadas são aquelas em que a coluna da loja não começa com “Upper” ou “Lower”.

Se desejar, você também pode definir a tupla da string fora da função startupswith() :

 #define tuple of strings
some_strings = (' Upper ', ' Lower ')

#select all rows where store does not start with strings in tuple
df[~df. blind . str . startswith (some_strings)]

	blind sales
3 West 198
4 CTR 177

Isso produz o mesmo resultado do método anterior.

Nota : Você pode encontrar a documentação completa da função startwith no pandas aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:

Pandas: como filtrar linhas com base no comprimento da string
Pandas: como verificar se a coluna contém uma string
Pandas: Como concatenar strings usando GroupBy

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *