Pular para o conteúdo

Como usar corretamente pandas string contains?

[

Como Verificar se uma String em Python Contém outra String

Se você precisa verificar se uma string contém outra string em Python, pode usar o operador de associação in. Em Python, essa é a maneira recomendada de confirmar a existência de uma substring em uma string:

file_content = "Olá! Bem-vindo ao meu site!"
substring = "meu site"
if substring in file_content:
print("A string contém a substring.")
else:
print("A string não contém a substring.")

Nesse exemplo, a string file_content contém a substring "meu site", então o código imprimirá “A string contém a substring”. Se a substring não estivesse presente, seria impresso “A string não contém a substring”.

O operador in retorna um valor booleano:

  • True se a substring for encontrada na string.
  • False se a substring não for encontrada na string.

Você pode usar essa sintaxe intuitiva em declarações condicionais para tomar decisões em seu código.

Generalize sua Verificação Removendo a Sensibilidade a Maiúsculas e Minúsculas

Se você deseja verificar se uma string contém outra string, mas também deseja ignorar a diferença entre letras maiúsculas e minúsculas, pode usar o método lower() para converter as duas strings para minúsculas antes de verificar a associação:

file_content = "Hello! Welcome to my website!"
substring = "My Website"
if substring.lower() in file_content.lower():
print("A string contém a substring, independentemente do caso.")
else:
print("A string não contém a substring.")

Nesse exemplo, as strings "Hello! Welcome to my website!" e "My Website" contêm a mesma sequência de letras, mas a diferença de caso impede que a associação in seja bem-sucedida. Ao usar o método lower(), as duas strings são convertidas para letras minúsculas, permitindo que a associação seja feita corretamente.

Aprenda Mais sobre a Substring

Ao trabalhar com strings em Python, é útil entender mais sobre as operações que você pode realizar em substrings. Aqui estão alguns métodos úteis:

startswith()

O método startswith() retorna True se uma string começa com uma determinada substring e False caso contrário:

file_content = "Hello! Welcome to my website!"
substring = "Hello"
if file_content.startswith(substring):
print("A string começa com a substring.")
else:
print("A string não começa com a substring.")

endswith()

O método endswith() retorna True se uma string terminar com uma determinada substring e False caso contrário:

file_content = "Hello! Welcome to my website!"
substring = "website!"
if file_content.endswith(substring):
print("A string termina com a substring.")
else:
print("A string não termina com a substring.")

find()

O método find() retorna a posição de uma substring dentro de uma string. Se a substring não for encontrada, o método retorna -1. Por exemplo:

file_content = "Hello! Welcome to my website!"
substring = "Welcome"
position = file_content.find(substring)
if position != -1:
print(f"A substring foi encontrada na posição {position}.")
else:
print("A substring não foi encontrada.")

split()

O método split() divide uma string em uma lista de substrings, usando um caractere ou sequência de caracteres como separador:

file_content = "Hello! Welcome to my website!"
words = file_content.split(" ")
print(words)

Nesse exemplo, a string file_content é dividida em uma lista de palavras usando o espaço como separador. O resultado será ['Hello!', 'Welcome', 'to', 'my', 'website!'].

Encontre uma Substring em uma Coluna de um DataFrame do pandas

Se estiver trabalhando com dados tabulares e precisar pesquisar substrings em uma coluna específica de um DataFrame do pandas, você pode usar o método str.contains().

Suponha que você tenha um DataFrame chamado data com uma coluna chamada names, e deseja verificar se cada nome na coluna contém a substring “python”. Você pode fazer da seguinte maneira:

import pandas as pd
data = pd.DataFrame({"names": ["John Smith", "Alice Python", "Bob", "Jane", "Pythonista"]})
substring = "python"
filtered_data = data[data["names"].str.contains(substring, case=False)]
print(filtered_data)

Nesse exemplo, o método str.contains() verifica se cada valor da coluna names contém a substring “python”, ignorando a diferença entre letras maiúsculas e minúsculas. Em seguida, um novo DataFrame filtered_data é criado apenas com as linhas que contêm a substring.

Conclusão

Neste tutorial, você aprendeu várias maneiras de verificar se uma string contém outra string em Python. O operador de associação in é a maneira mais comum e simples de realizar essa verificação. Você também aprendeu como generalizar sua verificação, removendo a sensibilidade a maiúsculas e minúsculas usando o método lower(). Além disso, exploramos alguns métodos adicionais para operar em substrings, como startswith(), endswith(), find() e split(). Por fim, você descobriu como encontrar substrings em colunas específicas de DataFrames do pandas usando o método str.contains(). Agora você tem as ferramentas necessárias para trabalhar com strings e procurar por substrings em Python.