Por que os pandas fazem uma distinção entre uma Series
e uma coluna DataFrame
?
Em outras palavras: qual é a razão de existência da Series
classe?
Estou usando principalmente séries temporais com índice de data e hora, talvez isso ajude a definir o contexto.
DataFrame
em umdict
deSeries
(embora essa não seja a implementação atual), ainda não está claro por que você retornaria umSeries
objeto em vez de umDataFrame
(ou seja, conceitualmente umdict
com uma entrada).Respostas:
Citando os documentos do Pandas
Portanto, a série é a estrutura de dados para uma única coluna de a
DataFrame
, não apenas conceitualmente, mas literalmente, ou seja, os dados em aDataFrame
são realmente armazenados na memória como uma coleção deSeries
.Analogamente: precisamos de listas e matrizes, porque as matrizes são construídas com listas. Matrizes de linha única, embora equivalentes a listas na funcionalidade ainda não possam existir sem a (s) lista (s) da qual são compostas.
Ambos têm APIs extremamente semelhantes, mas você descobrirá que os
DataFrame
métodos sempre atendem à possibilidade de você ter mais de uma coluna. E, é claro, você sempre pode adicionar outroSeries
(ou objeto equivalente) a aDataFrame
, enquanto a adição de umSeries
a outroSeries
envolve a criação de umDataFrame
.fonte
__repr__
comportamento diferente , então você não pode confundi-los?DataFrame
fromCan be thought of as a dict-like container for Series objects
. De fato, ele está atualmente armazenado como umBlockManager
(que é um detalhe da implementação em que você não deve confiar).do pandas doc http://pandas.pydata.org/pandas-docs/stable/dsintro.html Series é um array rotulado unidimensional capaz de armazenar qualquer tipo de dados. Para ler dados em forma de panda Series:
DataFrame é uma estrutura de dados rotulada bidimensional com colunas de tipos potencialmente diferentes.
Em ambos os índices acima está a lista
por exemplo: eu tenho um arquivo csv com os seguintes dados:
Para ler os dados acima como séries e quadro de dados:
resultado:
resultado:
fonte
file_data
parabrics
, adicionar uma linha dos EUA ao csv e alterar['BR'....'US']
parabrics.index
. Talvez corretopupuplation
.Series é um objeto unidimensional que pode conter qualquer tipo de dados, como números inteiros, flutuantes e strings, por exemplo
A primeira coluna da série é conhecida como índice, ou seja, 0,1,2 a segunda coluna é seus dados reais, ou seja, A, B, C
DataFrames é um objeto bidimensional que pode conter séries, listas, dicionários
fonte
Series é um array rotulado unidimensional capaz de armazenar qualquer tipo de dados (números inteiros, seqüências de caracteres, números de ponto flutuante, objetos Python, etc.). Os rótulos dos eixos são chamados coletivamente de índice. O método básico para criar uma série é chamar:
DataFrame é uma estrutura de dados rotulada bidimensional com colunas de tipos potencialmente diferentes. Você pode pensar nisso como uma planilha ou tabela SQL ou um ditado para objetos Series.
fonte
Importar dados de carros
Aqui está a aparência do arquivo cars.csv.
Imprima a coluna drives_right como Série:
A versão de suporte único fornece uma Série Pandas, a versão de suporte duplo fornece um DataFrame do Pandas.
Imprimir coluna drives_right como DataFrame
Adicionar uma série a outra série cria um DataFrame.
fonte