Como filtrar linhas em um DataFrame do Pandas com base nos valores das colunas

Python

Filtrando linhas em DataFrames do Pandas

Pandas é uma biblioteca poderosa em Python para manipulação e análise de dados. Uma tarefa comum é selecionar linhas de um DataFrame com base nos valores das colunas, semelhante ao SELECT * FROM table WHERE column_name = some_value do SQL.

Este guia orientará você através de vários métodos para conseguir isso no Pandas, facilitando a filtragem eficiente de seus dados. Quer você seja um usuário iniciante ou experiente, essas dicas irão aprimorar suas habilidades de manipulação de dados.

Comando Descrição
pd.DataFrame(data) Cria um DataFrame a partir de um dicionário de dados.
df[column_name] Acessa uma coluna no DataFrame por nome.
df[condition] Filtra o DataFrame com base numa condição aplicada a uma coluna.
print(selected_rows) Imprime o DataFrame ou um subconjunto dele no console.
df[df['Age'] >df[df['Age'] > 25] Seleciona linhas onde os valores da coluna 'Idade' são maiores que 25.
df[df['City'] == 'Chicago'] Seleciona linhas onde os valores da coluna 'Cidade' são iguais a 'Chicago'.

Compreendendo a seleção de linhas do DataFrame no Pandas

Os scripts fornecidos demonstram como selecionar linhas de um DataFrame com base nos valores das colunas usando a biblioteca Pandas em Python. O primeiro script começa importando a biblioteca Pandas com o comando. Em seguida, ele cria um DataFrame de amostra usando um dicionário de dados, que é convertido em um DataFrame com o comando. O script ilustra então dois métodos para seleção de linha: selecionar linhas onde o valor da coluna 'Idade' é maior que 25 usando e selecionando linhas onde o valor da coluna 'Cidade' é 'Chicago' usando df[df['City'] == 'Chicago']. Esses DataFrames filtrados são impressos usando o função para exibir as linhas selecionadas.

O segundo script segue uma estrutura semelhante, mas utiliza dados e critérios de seleção diferentes. Ele cria um DataFrame com informações do produto, incluindo colunas ‘Produto’, ‘Preço’ e ‘Estoque’. As linhas são selecionadas onde o 'Preço' é menor ou igual a 200 com

Técnicas avançadas para selecionar linhas de DataFrame em Pandas

Além da filtragem básica usando indexação booleana, o Pandas oferece técnicas avançadas para selecionar linhas com base nos valores das colunas. Um método poderoso é usar o função, que permite filtrar linhas com uma expressão de consulta, tornando a sintaxe mais limpa e muitas vezes mais intuitiva. Por exemplo, em vez de usar , você pode escrever . Este método é particularmente útil ao lidar com condições mais complexas ou quando os nomes das colunas contêm espaços. Além disso, o isin() A função é benéfica quando você deseja filtrar linhas com base em uma lista de valores. Por exemplo, para selecionar linhas onde o valor da coluna 'Cidade' é 'Chicago' ou 'Nova York', você pode usar .

Outra técnica envolve a e indexadores. O indexador é baseado em rótulos, permitindo selecionar linhas com base em rótulos de linhas e nomes de colunas, enquanto iloc é baseado em localização inteira, permitindo a seleção por números de linha e coluna. Esta flexibilidade é particularmente útil para selecionar linhas com base em uma condição aplicada a uma coluna diferente. Por exemplo, retornará os nomes de indivíduos com mais de 25 anos. Esses métodos expandem seu kit de ferramentas para manipulação e análise eficiente de dados no Pandas, oferecendo código mais legível e de fácil manutenção.

  1. Como posso selecionar linhas com base em múltiplas condições?
  2. Você pode usar o funcionar ou combinar condições com operadores lógicos como e . Por exemplo, df[(df['Age'] > 25) & (df['City'] == 'Chicago')].
  3. Posso filtrar linhas com base em uma lista de valores?
  4. Sim, use o função. Por exemplo, .
  5. Qual é a diferença entre e ?
  6. é baseado em rótulo, enquanto é baseado em localização inteira. Usar com rótulos de linha/coluna e iloc com índices de linha/coluna.
  7. Como posso selecionar colunas específicas ao filtrar linhas?
  8. Você pode usar . Por exemplo, .
  9. Como lidar com valores ausentes ao selecionar linhas?
  10. Use o função para remover linhas com valores ausentes ou para substituí-los por um valor especificado.
  11. Posso usar expressões regulares para filtrar linhas?
  12. Sim o funcionar com o O parâmetro permite filtrar linhas com base em padrões regex. Por exemplo, .
  13. Como posso filtrar linhas com base no índice?
  14. Você pode usar com o nome do índice. Por exemplo, .
  15. E se os nomes das minhas colunas contiverem espaços ou caracteres especiais?
  16. Use o função que pode lidar com esses nomes de colunas com crases. Por exemplo, .

Considerações finais sobre técnicas de seleção de linhas do DataFrame

Selecionar linhas de um DataFrame com base nos valores das colunas no Pandas é uma habilidade crucial para manipulação de dados. Os vários métodos discutidos, incluindo indexação booleana, , e indexação baseada em rótulo e em localização de número inteiro com e iloc, fornecem ferramentas poderosas para filtrar dados com eficiência. O domínio dessas técnicas permite uma melhor análise de dados e um código mais limpo e de fácil manutenção.