terça-feira, 20 de abril de 2021

Python - Extraindo linhas de um DataFrame usando iloc

O Pandas fornece um método exclusivo para recuperar linhas de um Dataframe. O método Dataframe.iloc[] é usado quando o rótulo do índice de um dataframe é algo diferente da série numérica de 0, 1, 2, 3… n ou caso o usuário não conheça o rótulo do índice. As linhas podem ser extraídas usando uma posição de índice imaginária que não é visível no dataframe.

Sintaxe: pandas.DataFrame.iloc[]

Parâmetros:

  • Posição do index: Posição do índice de linhas no inteiro ou lista de inteiros.

Tipo de retorno: DataFrame ou Series, dependo do parâmetro

Para baixar o CSV usado no código, clique aqui.

Exemplo #1: Extraindo uma única linha e comparando com .loc[]

Neste exemplo, a mesma linha de número de índice é extraída pelos métodos .iloc[] e .loc[] e comparada. Visto que a coluna do índice por padrão é numérica, portanto, o rótulo do índice também será números inteiros.

# Importa o pacote pandas
import pandas as pd

# Criando DataFrame a partir de um arquico csv
data = pd.read_csv("nba.csv")

# recuperar linhas pelo método loc 
linha1 = data.loc[3]
  
# recuperar linhas pelo método iloc
linha2 = data.iloc[3]

# Verifica se são iguais
print(linha1 == linha2)

Conforme mostrado abaixo, os resultados retornados por ambos os métodos são os mesmos.

Saída:

Name        True
Team        True
Number      True
Position    True
Age         True
Height      True
Weight      True
College     True
Salary      True
Name: 3, dtype: bool

Exemplo #2: Extração de várias linhas com índice

Neste exemplo, várias linhas são extraídas primeiro passando uma lista e depois passando inteiros para extrair linhas entre esse intervalo. Depois disso, os dois valores são comparados.

# Importa o pacote pandas
import pandas as pd

# Criando DataFrame a partir de um arquico csv
data = pd.read_csv("nba.csv")

# recuperar linhas pelo método loc
linha1 = data.loc[[4, 5, 6, 7]]

# recuperar linhas pelo método iloc
linha2 = data.iloc[4:8]

# Verifica se são iguais
print(linha1 == linha2)

Conforme mostrado abaixo, os resultados retornados por ambos os métodos são os mesmos. Todos os valores são True, exceto os valores na coluna da faculdade, pois esses eram valores NaN.

Saída:

   Name  Team  Number  Position   Age  Height  Weight  College  Salary
4  True  True    True      True  True    True    True    False    True
5  True  True    True      True  True    True    True    False    True
6  True  True    True      True  True    True    True     True    True
7  True  True    True      True  True    True    True     True    True

Artigo escrito por Kartikaybhutani e traduzido por Acervolima de Python | Extracting rows using Pandas .iloc[].

Licença

0 comentários:

Postar um comentário