0Pricing
Pandas & NumPy Academy · Aula

Criando uma Series

Construa uma Series do Pandas a partir de uma lista Python, de um dicionário e de um vetor NumPy e examine seus atributos de índice e valores.

Criando uma Series é uma aula grátis de Pandas & NumPy Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Pandas & NumPy Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Pandas & NumPy Academy inclui 4 aulas no total.

O que é uma Series do Pandas?

Uma Series do Pandas é uma matriz unidimensional rotulada capaz de armazenar qualquer tipo de dado — inteiros, números de ponto flutuante, strings, objetos Python ou até mesmo outras Series. Pense nela como uma matriz do NumPy com um índice personalizado (rótulos para cada elemento). O índice é o que torna as Series muito mais poderosas do que matrizes simples em tarefas de análise de dados nas quais os valores precisam de nomes descritivos.

import pandas as pd
import numpy as np

s = pd.Series([10, 20, 30, 40])
print(s)
# 0    10
# 1    20
# 2    30
# 3    40
# dtype: int64

Criando uma Series a partir de uma lista Python

Passar uma lista Python para pd.Series() cria uma Series com um RangeIndex inteiro padrão (0, 1, 2, ...). Você pode fornecer rótulos de índice personalizados por meio do parâmetro index=. O tamanho da lista de índices deve corresponder ao tamanho dos dados. Os rótulos podem ser strings, inteiros, datas ou qualquer objeto Python que aceite hash.

import pandas as pd

temps = pd.Series([22.5, 19.0, 25.3, 17.8],
                  index=['Mon', 'Tue', 'Wed', 'Thu'])
print(temps)
# Mon    22.5
# Tue    19.0
# Wed    25.3
# Thu    17.8
# dtype: float64

Criando uma Series a partir de um dicionário

Um dicionário Python pode ser passado diretamente para pd.Series(). As chaves do dicionário tornam-se os rótulos do índice e os valores tornam-se os dados. Essa é uma das maneiras mais naturais de criar uma Series quando seus dados já têm rótulos significativos. A Series resultante segue a ordem de inserção do dicionário (Python 3.7+).

import pandas as pd

stock = {'AAPL': 182.5, 'GOOG': 141.3, 'MSFT': 378.9}
s = pd.Series(stock)
print(s)
# AAPL    182.5
# GOOG    141.3
# MSFT    378.9
# dtype: float64

Criando uma Series a partir de uma matriz do NumPy

Uma matriz ndarray do NumPy pode ser passada como argumento de dados. O dtype da Series corresponde ao dtype da ndarray. Os dados subjacentes são armazenados como uma matriz do NumPy, portanto todas as funções universais do NumPy funcionam diretamente nas Series. Isso facilita a migração de código existente do NumPy para o Pandas sem reescrever a lógica de preparação dos dados.

import pandas as pd
import numpy as np

arr = np.linspace(0, 1, 5)
s = pd.Series(arr, index=['a', 'b', 'c', 'd', 'e'])
print(s)
# a    0.00
# b    0.25
# c    0.50
# d    0.75
# e    1.00

Os atributos .index e .values

s.index retorna o objeto Index que contém os rótulos. s.values retorna a matriz do NumPy subjacente com os valores dos dados. Ambos são essenciais para a interoperabilidade: você pode passar s.values para qualquer função do NumPy e converter o resultado novamente em uma Series com o índice original. s.dtype fornece o tipo de dados dos valores.

import pandas as pd

s = pd.Series([3, 1, 4], index=['x', 'y', 'z'])
print(s.index)   # Index(['x', 'y', 'z'], dtype='object')
print(s.values)  # [3 1 4]
print(s.dtype)   # int64

Nome da Series e nome do índice

Uma Series pode ter um atributo .name que descreve o que os valores representam, e seu índice pode ter um atributo .name que descreve o que os rótulos representam. Esses nomes aparecem em DataFrames quando uma Series é atribuída a uma coluna e nos rótulos de gráficos. Defina-os com s.name = 'price' ou, durante a criação, com name=.

import pandas as pd

s = pd.Series([1.2, 3.4, 5.6],
              index=['a', 'b', 'c'],
              name='measurement')
s.index.name = 'label'
print(s)
# label
# a    1.2
# b    3.4
# c    5.6
# Name: measurement, dtype: float64

Criando uma Series escalar

Passar um único valor escalar para pd.Series() com um índice explícito cria uma Series em que cada elemento é igual a esse escalar. Isso é semelhante a np.full() do NumPy e é útil para criar Series de referência constantes para subtrair de uma Series de dados reais ou compará-las.

import pandas as pd

s = pd.Series(5, index=['a', 'b', 'c', 'd'])
print(s)
# a    5
# b    5
# c    5
# d    5
# dtype: int64

Alinhamento automático de índices

Um dos recursos mais poderosos das Series do Pandas é o alinhamento automático de índices. Quando você soma duas Series, o Pandas as alinha pelos rótulos antes de calcular o resultado. Se um rótulo existir em uma Series, mas não na outra, o resultado nesse rótulo será NaN. Isso evita erros silenciosos de deslocamento de uma posição comuns em operações com matrizes do NumPy.

import pandas as pd

a = pd.Series([1, 2], index=['x', 'y'])
b = pd.Series([10, 20], index=['y', 'z'])
print(a + b)
# x     NaN
# y    12.0
# z     NaN

Verificando o comprimento e a forma de uma Series

len(s) retorna o número de elementos. s.shape retorna uma tupla (n,), de acordo com as convenções do NumPy. s.size é igual a len(s). Use essas verificações no início de um fluxo de processamento para validar se o carregamento dos dados produziu o número esperado de linhas antes de prosseguir com a análise.

import pandas as pd

s = pd.Series(range(10))
print(len(s))     # 10
print(s.shape)    # (10,)
print(s.size)     # 10
print(s.ndim)     # 1

Convertendo uma Series para outros tipos

Você pode converter uma Series novamente em uma lista Python com s.tolist(), em uma matriz do NumPy com s.to_numpy() ou s.values, e em um dicionário com s.to_dict(). Essas conversões são úteis para a interoperabilidade com bibliotecas que não aceitam objetos do Pandas e para serializar resultados em JSON ou CSV.

import pandas as pd

s = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
print(s.tolist())      # [10, 20, 30]
print(s.to_numpy())    # [10 20 30]
print(s.to_dict())     # {'a': 10, 'b': 20, 'c': 30}

Series versus coluna de DataFrame

Uma única coluna de um DataFrame é uma Series. Quando você acessa df['col'], o Pandas retorna uma Series com o mesmo índice do DataFrame. Da mesma forma, uma Series com um name pode ser inserida diretamente em um DataFrame como uma coluna. Entender essa relação ajuda você a alternar com facilidade entre operações com Series e DataFrames.

import pandas as pd

df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
col = df['a']           # Series
print(type(col))        # <class 'pandas.core.series.Series'>
print(col.values)       # [1 2 3]

Verificação rápida

Verifique sua compreensão sobre a criação de Series do Pandas apresentada nesta lição.

Recapitulação da lição

Nesta lição, você aprendeu que: uma Series é uma matriz unidimensional rotulada construída sobre uma ndarray do NumPy, ela pode ser criada a partir de listas, dicionários, matrizes do NumPy ou escalares, e o alinhamento de índices lida automaticamente com operações aritméticas baseadas em rótulos entre duas Series. A seguir, veremos como acessar elementos de uma Series por rótulo com .loc e por posição com .iloc.

Perguntas Frequentes

A aula “Criando uma Series” é grátis?

Sim — o texto completo de “Criando uma Series” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Pandas & NumPy Academy, atualize para CoddyKit PRO. O curso de Pandas & NumPy Academy inclui 4 aulas no total.

O que vou aprender em “Criando uma Series”?

Construa uma Series do Pandas a partir de uma lista Python, de um dicionário e de um vetor NumPy e examine seus atributos de índice e valores. Você pratica Pandas & NumPy Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Pandas & NumPy Academy?

Nenhuma experiência prévia é necessária. Pandas & NumPy Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Criando uma Series”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Pandas & NumPy Academy?

Sim. Cada aula de Pandas & NumPy Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Criando uma Series
  2. Acesso por rótulo e por posição
  3. Operações vetorizadas em Series
  4. Métodos úteis de Series
← Voltar para Pandas & NumPy Academy