¿Por qué los pandas hacen una distinción entre ay Series
una sola columna DataFrame
?
En otras palabras: ¿cuál es la razón de la existencia de la Series
clase?
Principalmente estoy usando series de tiempo con índice de fecha y hora, tal vez eso ayude a establecer el contexto.
DataFrame
como undict
deSeries
(aunque esa no es la implementación actual), todavía no está claro por qué alguna vez devolvería unSeries
objeto en lugar de unDataFrame
(es decir, conceptualmente undict
con una entrada).Respuestas:
Citando los documentos de Pandas
Entonces, la Serie es la estructura de datos para una sola columna de a
DataFrame
, no solo conceptualmente, sino literalmente, es decir, los datos en aDataFrame
se almacenan realmente en la memoria como una colección deSeries
.Análogamente: necesitamos listas y matrices, porque las matrices se construyen con listas. Las matrices de una sola fila, aunque son equivalentes a las listas en funcionalidad, todavía no pueden existir sin las listas de las que están compuestas.
Ambos tienen API extremadamente similares, pero encontrará que los
DataFrame
métodos siempre atienden a la posibilidad de que tenga más de una columna. Y, por supuesto, siempre puede agregar otroSeries
(u objeto equivalente) a aDataFrame
, mientras que agregar unSeries
a otroSeries
implica crear unDataFrame
.fuente
__repr__
comportamiento diferente , por lo que no puedes confundirlos?DataFrame
fromCan be thought of as a dict-like container for Series objects
. De hecho, actualmente está almacenado como unBlockManager
(que es un detalle de implementación en el que no debe confiar).del pandas doc http://pandas.pydata.org/pandas-docs/stable/dsintro.html La serie es una matriz etiquetada unidimensional capaz de contener cualquier tipo de datos. Para leer datos en forma de serie panda:
DataFrame es una estructura de datos etiquetados bidimensionales con columnas de tipos potencialmente diferentes.
En ambos el índice anterior es la lista
por ejemplo: tengo un archivo csv con los siguientes datos:
Para leer los datos anteriores como serie y marco de datos:
salida:
salida:
fuente
file_data
abrics
, agregar una línea de EE. UU. Al csv y cambiar['BR'....'US']
abrics.index
. Quizás correctopupuplation
.La serie es un objeto unidimensional que puede contener cualquier tipo de datos, como enteros, flotantes y cadenas, por ejemplo
La primera columna de la serie se conoce como índice, es decir, 0,1,2, la segunda columna son sus datos reales, es decir, A, B, C
DataFrames es un objeto bidimensional que puede contener series, listas y diccionarios.
fuente
Series es una matriz etiquetada unidimensional capaz de contener cualquier tipo de datos (enteros, cadenas, números de coma flotante, objetos Python, etc.). Las etiquetas de los ejes se denominan colectivamente índice. El método básico para crear una serie es llamar a:
DataFrame es una estructura de datos etiquetados bidimensionales con columnas de tipos potencialmente diferentes. Puede pensarlo como una hoja de cálculo o una tabla SQL, o un resumen de objetos de la Serie.
fuente
Importar datos de autos
Así es como se ve el archivo cars.csv.
Imprima la columna drives_right como Serie:
La versión de soporte único proporciona una Serie Pandas, la versión de soporte doble proporciona un Marco de datos Pandas.
Imprima la columna drives_right como DataFrame
Agregar una serie a otra serie crea un marco de datos.
fuente