Filtro pandas por índice

Filtro pandas por índice

Usando "filtro ()", podemos filtrar um quadro de dados com base em índices. Com esta técnica, as linhas ou colunas do quadro de dados serão um subconjunto do quadro de dados original de acordo com os rótulos especificados no índice fornecido.

Existem diferentes métodos para filtrar as linhas do quadro de dados com base em seu índice. Mas neste tutorial, nosso foco principal é a função filtro (). Vamos verificar sua sintaxe primeiro para que possamos usá -lo para filtrar os dados. O método retorna um objeto do mesmo tipo que o que é usado como entrada.

Sintaxe:

Dataframe_object.filtro (itens = nenhum, como = nenhum, regex = nenhum, eixo = nenhum)

Parâmetros:

    1. Unid: Requer uma lista dos rótulos do eixo que você deseja filtrar.
    2. como: Mantenha o eixo de informação em que “arg em col == true”. A etiqueta da sequência do eixo que queremos filtrar é tomada.
    3. regex: Mantenha o eixo de informação onde RE.pesquisa (regex, col) == true.
    4. eixo: O eixo no qual filtrar o 'index' ou 0, 'colunas' ou 1, nenhum. Por padrão, este é o eixo de informação. Para séries, é "índice". Para DataFrame, são "colunas".

Como vimos a sintaxe, demonstramos a função filter () nos exemplos a seguir:

Exemplo 1: filtro por índice numérico

Crie o DateFrame com 2 colunas que contém 5 registros e retorne apenas as linhas específicas com base no índice.

Importar pandas
hobbies = pandas.DataFrame ('Stud_name': ['Stud 1', 'Stud 2', 'Stud 3', 'Stud 4', 'Stud 5'],
'Hobbies': ['Music', 'Singing', 'Dance', 'Play', 'Drink'])
impressão (hobbies)
imprimir()
# Obtenha apenas a primeira linha
Imprimir (hobbies.filtro ([0], eixo = 0))
imprimir()
# Obtenha apenas quinta fila
Imprimir (hobbies.filtro ([4], eixo = 0))


Saída:

Stud_name Hobbies
0 music stud 1
1 Stud 2 cantando
2 Stud 3 Dance
3 Play Stud 4
4 garanhão 5 bebida
Stud_name Hobbies
0 music stud 1
Stud_name Hobbies
4 garanhão 5 bebida


Explicação:

    1. Na primeira saída, retornamos a primeira linha usando o índice-0.
    2. Na segunda saída, retornamos a quinta linha usando o índice-4.

Exemplo 2: filtre por múltiplos índices numéricos

Crie o DateFrame com 2 colunas que contém 5 registros e retorne apenas as linhas específicas com base no índice por vez.

Importar pandas
hobbies = pandas.DataFrame ('Stud_name': ['Stud 1', 'Stud 2', 'Stud 3', 'Stud 4', 'Stud 5'],
'Hobbies': ['Music', 'Singing', 'Dance', 'Play', 'Drink'])
# Obtenha as duas primeiras linhas
Imprimir (hobbies.filtro (itens = [0,1], eixo = 0))
imprimir()
# Obtenha apenas o segundo, terceiro e quinto linhas
Imprimir (hobbies.filtro (itens = [1,2,4], eixo = 0)))


Saída:

Stud_name Hobbies
0 music stud 1
1 Stud 2 cantando
Stud_name Hobbies
1 Stud 2 cantando
2 Stud 3 Dance
4 garanhão 5 bebida


Explicação:

    1. Na primeira saída, retornamos a primeira e a segunda linhas por vez usando o índice-0 e 1.
    2. Na segunda saída, retornamos as segundas, terceiro e quinta linhas usando índice-1, 2 e 4.

Exemplo 3: filtro por índice não numérico

Crie o DateFrame com 3 colunas que contém 4 registros e retorne apenas as linhas específicas separadamente com base no índice. Aqui, o índice é de “.String ”Tipo.

Importar pandas
Journey = pandas.DataFrame ('de': ['City 1', 'City 1', 'City 3', 'City 4'],
'para': ['AP', 'EUA', 'Cidade 2', 'Cidade 1'],
'Distância': [200.500.466.100],
Índice = ['Passageiro 1', 'Passageiro 2', 'Passageiro 3', 'Passageiro 4']))
Impressão (Journey)
imprimir()
# Obtenha a linha onde o index-'Pasenger 3 '.
Imprimir (Journey.filtro (itens = ['passageiro 3'], eixo = 0)))
imprimir()
# Obtenha a linha onde o índice-'Palpenger 1 '.
Imprimir (Journey.filtro (itens = ['passageiro 1'], eixo = 0)))


Saída:

de distância
passageiro 1 cidade 1 ap 200
Passageiro 2 Cidade 1 EUA 500
Passageiro 3 Cidade 3 Cidade 2 466
Passageiro 4 Cidade 4 Cidade 1 100
de distância
Passageiro 3 Cidade 3 Cidade 2 466
de distância
passageiro 1 cidade 1 ap 200


Explicação:

    1. Na primeira saída, retornamos a terceira linha usando o índice-“Passageiro 3”.
    2. Na segunda saída, retornamos a primeira linha usando o índice-“Passageiro 1”.

Exemplo 4: filtre por múltiplos índices não numéricos

Retorne as três últimas linhas de cada vez com base no índice.

Importar pandas
Journey = pandas.DataFrame ('de': ['City 1', 'City 1', 'City 3', 'City 4'],
'para': ['AP', 'EUA', 'Cidade 2', 'Cidade 1'],
'Distância': [200.500.466.100],
Índice = ['Passageiro 1', 'Passageiro 2', 'Passageiro 3', 'Passageiro 4']))
# Obtenha a linha onde o índice- 'Passageiro 2', 'Passageiro 3', 'Passageiro 4'
Imprimir (Journey.filtro (itens = ['passageiro 2', 'passageiro 3', 'passageiro 4'], eixo = 0))


Saída:

de distância
Passageiro 2 Cidade 1 EUA 500
Passageiro 3 Cidade 3 Cidade 2 466
Passageiro 4 Cidade 4 Cidade 1 100

Exemplo 5: filtre usando o parâmetro semelhante

Vamos utilizar o parâmetro "curtir" para retornar as linhas com base no índice como - "passageiro" e "r 1", separadamente.

Importar pandas
Journey = pandas.DataFrame ('de': ['City 1', 'City 1', 'City 3', 'City 4'],
'para': ['AP', 'EUA', 'Cidade 2', 'Cidade 1'],
'Distância': [200.500.466.100],
Índice = ['Passageiro 1', 'Passageiro 2', 'Passageiro 3', 'Passageiro 4']))
# Pegue a linha onde o índice é como 'passageiro'.
Imprimir (Journey.filtro (como = 'passageiro', eixo = 0))
imprimir()
# Pegue a linha onde o índice é como 'r 1'.
Imprimir (Journey.filtro (como = 'r 1', eixo = 0))


Saída:

de distância
passageiro 1 cidade 1 ap 200
Passageiro 2 Cidade 1 EUA 500
Passageiro 3 Cidade 3 Cidade 2 466
Passageiro 4 Cidade 4 Cidade 1 100
de distância
passageiro 1 cidade 1 ap 200


Explicação:

    1. Todos os índices contêm “passageiro”. Então, todas as linhas foram devolvidas na primeira saída.
    2. Apenas um índice é como "r 1". Então, a linha com índice - "Passageiro 1" é retornada na segunda saída.

Exemplo 6:

Vamos considerar o quadro de dados com os índices - ['sravan', 'ravan', 'pavan', 'ravi'] e depois devolver as linhas com índices como “n” e “m” separadamente.

Importar pandas
Journey = pandas.DataFrame ('de': ['City 1', 'City 1', 'City 3', 'City 4'],
'para': ['AP', 'EUA', 'Cidade 2', 'Cidade 1'],
'Distância': [200.500.466.100],
índice = ['sravan', 'ravan', 'pavan', 'ravi']))
# Pegue a linha onde o índice é como 'n'.
Imprimir (Journey.filtro (como = 'n', eixo = 0))
imprimir()
# Pegue a linha onde o índice é como 'm'.
Imprimir (Journey.filtro (como = 'm', eixo = 0))


Saída:

de distância
Sravan City 1 AP 200
Ravan City 1 EUA 500
Pavan City 3 City 2 466
DataFrame vazio
Colunas: [de, a, distância]
ÍNDICE: []


Explicação:

    1. Existem três linhas em que o índice inclui "n".
    2. Não há linha onde os índices incluam "m". Então, o quadro de dados vazio é retornado.

Conclusão

Ensinamos a você como recuperar as linhas de dados de dados com base em seus índices em pandas. Vimos a sintaxe da função filtro () primeiro para entender seus parâmetros e o funcionamento da função do filtro. Implementamos os diferentes exemplos para ensiná-lo a filtrar um quadro de dados usando os índices de valores numéricos e valores não numéricos. Também implementamos alguns exemplos para explicar como você pode filtrar um quadro de dados para os índices que contêm um caractere ou string específico passando o parâmetro semelhante para a função filtro ().