quinta-feira, 6 de agosto de 2020

Inverter a direção de uma operação

Photo by Brendan Church on Unsplash

É comum que alguns métodos dos dataframes pandas tenham o parâmetro eixo. Com esse parâmetro é possível alterar o sentido da operação. Podemos definir o sentido em que a operação deve ocorrer. Os valores passados ao parâmetro podem se 'index' (ou 0) ou 'columns' (ou 1). É muito comum ver o parâmetro de eixo recebendo valores em strings. Isso acontece porque é mais intuitivo. É mais fácil de perceber que a string 'columns' se refere a colunas do que perceber que o número um se refere à mesma coisa.
O valor padrão, da grande maioria dos parâmetros eixo, é o zero (ou 'index'). Por isso o padrão das operações é ir da primeira linha até a última. Nesse tutorial vamos aprender como mudar a direção das operações.

Como inverter a direção de uma operação no dataframe pandas

Vamos começar com um método que já vimos antes, o count(). Esse método conta os elementos não vazios. Por padrão o sentida da operação é o eixo 'index''. Para mudar o sentido da operação usamos o parâmetro axis (eixo).

>>> import pandas as pd
>>> filmes = pd.read_csv('filmes.csv')
>>> filmes.count()
indice                     9262
codigo_obra                9259
titulo_original            9262
titulo_brasil              9262
ano_producao               9259
diretor                    9262
razao_social_requerente    9262
cnpj_requerente            9262
data_exibicao              9262
dtype: int64

>>> filmes.count(axis='columns')
0       9
1       8
2       9
3       8
4       9
       ..
9257    9
9258    9
9259    9
9260    9
9261    9
Length: 9262, dtype: int64

Na primeira chamada, ao método count(), recebemos uma série com o número de elementos não vazios de cada coluna. Isso acontece porque o eixo padrão do método count() é o index. Assim o método count() vai em cada coluna e conta quantos elementos essa coluna tem. Na segunda chamada mudamos o eixo para ‘colunas’. Desse modo o método vai a cada linha e conta quantas colunas não vazias essa linha tem.

Referência:
Método count()
Método read_csv()

0 comentários:

Postar um comentário