Filtro pandas por valor

Filtro pandas por valor
Uma estrutura tabular com colunas e linhas é um quadro de dados em pandas. Os dados podem ser limpos, filtrados, agregados e agrupados usando esta biblioteca. Ele nos permite dividir o conjunto de dados original em grupos menores. Ao dividir o conjunto de dados em quadros de dados menores, ele nos permite extrair subconjuntos do conjunto de dados especificado. Isso torna mais simples examinar, visualizar e analisar seções de dados específicas. É necessário entender esses comandos para usá -los efetivamente. Aprenderemos maneiras diferentes de filtrar um quadro de dados de pandas neste tutorial em Python.

Como filtrar o DataFrame por valores em pandas?

Felizmente, existem várias técnicas para filtrar dados de dados de dados e séries em pandas. Os valores de um quadro de dados podem ser filtrados usando uma variedade de funções, conforme demonstrado nos exemplos abaixo.

Exemplo # 01: filtrando linhas de quadro com a ajuda do valor da coluna

Em um quadro de dados, você freqüentemente precisa localizar instâncias de um valor específico. O .A função de indexação localizada simplifica filtrar linhas de acordo com se o valor existe ou não. Primeiro, vamos importar a biblioteca de pandas. Em seguida, criaremos o quadro de dados usando o PD.Função DataFrame ().

Criamos seis linhas e três colunas. A coluna 'Pessoa' consiste nos nomes de alguns indivíduos ('Jason', 'Arya', 'Kim', 'Ryan', 'Sana', 'Mark'). A coluna de 'peso' é os valores de dados que representam os pesos de indivíduos em kg (80, 56, 60, 72, 63, 90). A coluna 'sexo' tem os valores de string representando gêneros de indivíduos ('m', 'f', 'f', 'm', 'f', 'm'). Vamos extrair as linhas onde o valor na coluna 'sexo' é 'f'. Para isso, a função loc [] será usada. As linhas podem ser recuperadas usando a função loc [] que os pandas oferecem. Somente os rótulos de índice podem ser passados ​​como entrada no DataFrame.Método loc []. Ele retorna um DataFrame ou linha se o rótulo de índice existir no quadro de dados que está sendo chamado.

A expressão lógica é tomada como um argumento pelo .Método loc []. Ao especificar o df ['sexo'] == 'f' dentro da função loc [], a função retornou três linhas onde o valor da coluna 'sexo' é 'f'.

Exemplo # 02: Filtrando linhas de quadro com a ajuda de condições lógicas ou relacionais

Em alguns cenários, você pode preferir encontrar dados agrupados com base em padrões em vez de linhas com um único valor. Expressões lógicas podem ser usadas para definir padrões. Vamos criar um quadro de dados primeiro.

O quadro de dados acima consiste em três colunas 'ginasta' com valores ('roxy', 'alan', 'eva', 'marcus', 'jim', 'zack', 'lana', 'robin'), altura da coluna armazenando o alturas das ginastas em pés (6.2, 6.0, 5.8, 6.2, 6.4, 5.9, 5.7, 6.0), e a coluna que contém os sexos de ginastas ('feminino', 'masculino', 'feminino', 'masculino', 'masculino', 'masculino', 'feminino', 'feminino'). A lógica será definida no operador de indexação ([]) como um argumento.

Semelhante ao último exemplo, estamos filtrando as linhas de quadro de dados para extrair apenas aqueles em que os valores de dados na coluna “altura” são maiores que 6.0.

Como visto, temos três linhas onde o valor é maior que 6.0 na coluna 'altura'. Também podemos definir várias condições usando e operador. Vamos recuperar as linhas onde a altura é menor que 6.2 e o valor na coluna 'gênero' é 'feminino'.

Especificamos duas condições dentro do operador de indexação ([]), df ['altura'] < 6.2) and (df['gender'] == 'female'). The function has extracted the rows where the height is less than 6.2 and gender is equal to 'female'.

Exemplo # 03: Filtrando o DataFrame com a ajuda do operador de fatia

Existem situações em que você precisa filtrar dados com base na posição do índice, em vez dos valores. Você pode especificar rapidamente um intervalo de índice da linha de dados, coluna ou ambos para extrair usando o .Método ILOC. Vamos criar um quadro de quadro de dados com várias colunas e entender o uso da função ILOC [] praticamente.

O quadro de dados necessário foi criado usando um dicionário Python dentro dos parênteses do PD.Função DataFrame (). A coluna DataFrame 'Player' consiste no nome dos jogadores ('Alex', 'Brock', 'Riley', 'Anna', 'Jia', 'Henry', 'Tom', 'Ron'), a 'Score' 'A coluna está contendo a pontuação de algum jogo recente (9, 9, 6, 7, 8, 10, 4, 5), a coluna' Ranks 'representa as fileiras dos jogadores (3, 2, 6, 5, 4, 1, 8, 7), e a coluna 'grau' que armazena as notas ('a', 'a', 'c', 'b', 'b', 'a', 'd', 'c'). Vamos usar a função ILOC [] para filtrar os dados.

O primeiro argumento retorna cinco linhas de dados, como especificamos 0: 5. Significa as linhas que começam no índice 0 e terminam antes do índice 5. Duas colunas de dados são retornadas como especificamos 1: 3 no segundo argumento, indicando as colunas que começam no índice 1 e terminando antes do índice 3. Se você deseja recuperar todas as linhas ou todas as colunas, pode deixar esse local de argumento (primeiro ou segundo) com um cólon “:”.

Exemplo # 04: filtrando linhas de quadro com a ajuda da função de query ()

Você pode especificar uma condição ou múltiplo nos pandas.Método consulsão () como uma string. Ele também elimina o requisito de recuperar as linhas de dados de dados usando os operadores de indexação ([],.loc,.Iloc, etc.). Precisamos criar um quadro de dados primeiro a partir do qual filtraremos as linhas.

Existem duas colunas em nosso quadro de dados: 'alunos' com valores de dados ('ryan', 'wanda', 'bob', 'drew', 'Natalia', 'maya', 'adam', 'nick') e 'marcas 'Com valores (48, 35, 46, 20, 28, 30, 43, 36). Para que a função query () recupere dados do DataFrame, podemos especificar uma única condição ou várias condições como uma string.

Especificamos uma condição para recuperar as linhas onde o valor na coluna Marks é menor que 48 e maior que 30. Quatro linhas são recuperadas do quadro de dados, que estão satisfazendo a condição especificada dentro da função consulta ().

Exemplo # 05: filtrando linhas de quadro de dados dos valores nulos

Em alguns casos, os valores nulos podem estar presentes em um conjunto de dados. Usando os pandas.função notnull (), é simples eliminar linhas com valores ausentes do quadro de dados. Vamos criar um quadro de dados com valores nulos ou valores ausentes em pelo menos uma de suas colunas.

Como pode ser visto na coluna 'col2' (11, nenhum, 36, nenhum, nenhum, 21, 46, 60), existem alguns valores ausentes. Com o uso do operador de indexação e da função notNull (), esses valores nulos podem ser filtrados a partir do quadro de dados.

A função acima eliminou todas as linhas com valores nulos.

Exemplo # 06: Filtrando linhas de quadro com a ajuda de métodos de string

Os exemplos deste tutorial concentraram -se principalmente na filtragem de números numéricos. No entanto, os dados da string também podem ser usados. Para filtrar dados ainda mais precisamente, algumas funções de string também podem ser usadas. Vamos usar o DataFrame que criamos no Exemplo # 5.

Você pode filtrar linhas de quadro de dados usando a propriedade STR e contém () função com base em uma parte específica de um valor de string ou o valor da string como um todo. Vamos recuperar as linhas com a string específica “Tiger” nos valores das colunas 'col3'.

Também podemos recuperar as linhas do DataFrame pela letra inicial dos valores de string usando a propriedade STR e StartSwith (). A letra inicial da string será especificada na função startSwith (). Vamos recuperar as linhas onde os valores da string começam com a letra 'a' na coluna 'col1'.

Conclusão

Neste tutorial, discutimos como filtrar o quadro de dados pelos valores em pandas. Vimos que os valores de um quadro de dados podem ser filtrados usando várias funções diferentes. Implementamos vários exemplos neste tutorial para ensiná -lo a filtrar linhas de quadro de dados com a ajuda do DataFrame.Método loc [], condições lógicas ou relacionais, operador de fatia, função query (), função notnull () e métodos de string.