Como já vimos nos posts anteriores selecionar uma coluna de um dataframe com Pandas retorna uma série. Uma série é um conjunto de dados organizados numa dimensão, diferente do dataframe que tem duas dimensões. Uma série é composta pelo índice e pelos dados. Com a biblioteca Pandas é possível criar uma série sem precisar de um dataframe, mais isso não é muito comum. O que geralmente acontece é criar uma série a partir de um dataframe.
Nesse tutorial vamos aprender a criar uma série de duas formas diferentes. No primeiro exemplo vamos usar o índice para criar uma série e no outro vamos criar uma série a partir de um atributo.
Como fazer isso...
Para criar uma série a partir de um dataframe, usando índices, o que precisamos fazer é passar o nome da coluna como se fosse um índice. Veja o exemplo abaixo:
>>> import pandas as pd >>> filmes = pd.read_csv('filmes.csv', encoding='latin-1') >>> filmes['Titulo no Brasil'] 0 PREÇO DA PAZ O 1 CARTOMANTEA 2 BLACK & WHITE VOL. 9 3 O GURU DO SEXO 4 O AMERICANO TRANQUILO ... 9257 ROCK OF AGES: O FILME 9258 MATRIX 9259 MILITARY WIVES 9260 ROBERTO CARLOS EM JERUSALÉM 9261 O POÇO Name: Titulo no Brasil, Length: 9262, dtype: object
Criar uma série a partir de um atributo é ainda mais simples do que com índice. Veja um exemplo:
>>> import pandas as pd >>> filmes = pd.read_csv('filmes.csv', encoding='latin-1') >>> filmes.Diretor 0 PAULO DE TARSO DE CARVALHO MORELLI 1 WAGNER DE ASSIS E PABLO URANGA 2 LENILDO MAURICIO DA SILVA 3 DAISY MAYER 4 PHILLIP NOYCE ... 9257 ADAM SHANKMAN 9258 LANA WACHOWSKI ANDY WACHOWSKI 9259 PETER CATTANEO 9260 MARIO HUMBERTO MEIRELLES MOREIRA 9261 ANDRE BORELLI MARTINS Name: Diretor, Length: 9262, dtype: object
Outra alternativa é utilizar os atributos loc
e iloc
. Com o atributo loc
é possível conseguir uma série de uma coluna ou linha passando o seu nome. O atributo iloc
funciona de modo semelhante ao atributo loc
, a diferença é que o atributo iloc
recebe o índice da coluna.
Veja um exemplo de como utilizar o atributo loc
:
>>> import pandas as pd >>> filmes = pd.read_csv('filmes.csv', encoding='latin-1') >>> filmes.loc[:, 'Titulo Original'] 0 PREÇO DA PAZ O 1 CARTOMANTEA 2 BLACK & WHITE VOL. 9 3 THE GURU 4 QUIET AMERICAN ... 9257 ROCK OF AGES 9258 THE MATRIX 9259 MILITARY WIVES 9260 ROBERTO CARLOS EM JERUSALÉM 9261 O POÇO Name: Titulo Original, Length: 9262, dtype: object
Veja um exemplo de como utilizar o atributo iloc
:
>>> import pandas as pd >>> filmes = pd.read_csv('filmes.csv', encoding='latin-1') >>> filmes.iloc[:, 1] 0 PREÇO DA PAZ O 1 CARTOMANTEA 2 BLACK & WHITE VOL. 9 3 THE GURU 4 QUIET AMERICAN ... 9257 ROCK OF AGES 9258 THE MATRIX 9259 MILITARY WIVES 9260 ROBERTO CARLOS EM JERUSALÉM 9261 O POÇO Name: Titulo Original, Length: 9262, dtype: object
Nos dois exemplos acima acessamos todos os valores da coluna ‘Título Original’. No primeiro exemplo usamos o atributo loc. Com esse atributos passamos o nome da coluna que queremos acessar, no caso ‘Título Original’. Já com o atributo iloc passamos o número do índice da coluna que queremos acessar. No exemplo, logo acima, passamos o valor um assim temos acesso aos dados da segunda coluna (Lembrando que o índice começa em zero). Os dois pontos usados nos exemplos sinaliza que queremos os dados de todas as alinhas. Para selecionar um intervalo: filmes.iloc[42:100, 1]
.
Na saído dos dois atributos é possível notar o índice das linhas (rows), três pontos entre as linhas e, no final, o nome da coluna, o tamanho (Length) e o tipo de dados (dtype). O índice serve para saber qual é a posição do valor. Os três pontos sinalizam que alguns elementos não foram mostrados.
Um dataframe do Pandas, geralmente, tem duas ou mais colunas e cada uma dessas colunas pode ser tratada como uma série.
Nos exemplos acima ficou claro que podemos obter uma série de um dataframe de diferentes maneiras. O jeito mais fácil é como atributo. Uma coisa para prestar atenção na hora de nomear: os valores aceitos são os alfanuméricos sem espaços e sem caracteres especiais.
0 comentários:
Postar um comentário