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