В чем разница между Серией pandas и Одностолбцовым фреймом данных?
почему панды делают различие между a Series и один столбец DataFrame?
Другими словами: в чем причина существования Series класса?
Я в основном использую временные ряды с индексом datetime, возможно, это помогает установить контекст.
4 ответов:
со ссылкой на Pandas docs
панды. DataFrame(данные=Нет, показатель=нет, столбцы=нет, dtype=none, то копирование=ложь)
двумерный размер-изменяемая, потенциально гетерогенная табличная структура данных с мечеными осями (строки и столбцы). Арифметические операции выравниваются по меткам строк и столбцов. можно рассматривать как dict-подобный контейнер для объектов серии. главная структура данных панды
(акцент мой, фрагмент предложения не мой)
так серия-это структура данных для одного столбца a
DataFrame, не только концептуально, но буквально т. е. данные вDataFrameфактически хранится в памяти в виде коллекцииSeries.аналогично: нам нужны как списки, так и матрицы, потому что матрицы строятся со списками. Однорядные матрицы, в то время как эквивалентные спискам в функциональность по-прежнему не может существовать без списка(ов), из которых они состоят.
они оба имеют очень похожие API, но вы найдете, что
DataFrameметоды всегда учитывают возможность того, что у вас есть более одного столбца. И конечно, вы всегда можете добавить еще одинSeries(или эквивалентный объект) кDataFrame, при добавленииSeriesв другойSeriesвключает в себя созданиеDataFrame.
от панд doc http://pandas.pydata.org/pandas-docs/stable/dsintro.html Серия представляет собой одномерный помеченный массив, способный содержать любой тип данных. Для чтения данных в виде серии panda:
import pandas as pd ds = pd.Series(data, index=index)DataFrame-это 2-мерная помеченная структура данных со столбцами потенциально разных типов.
import pandas as pd df = pd.DataFrame(data, index=index)в обоих из вышеуказанного индекса список
например: у меня есть CSV-файл со следующим данные:
,country,popuplation,area,capital BR,Brazil,10210,12015,Brasile RU,Russia,1025,457,Moscow IN,India,10458,457787,New Delhiдля чтения выше данных в виде серии и фрейма данных:
import pandas as pd file_data = pd.read_csv("file_path", index_col=0) d = pd.Series(file_data.country, index=['BR','RU','IN'] or index = file_data.index)выход:
>>> d BR Brazil RU Russia IN India df = pd.DataFrame(file_data.area, index=['BR','RU','IN'] or index = file_data.index )выход:
>>> df area BR 12015 RU 457 IN 457787
серия представляет собой одномерный объект, который может содержать любой тип данных, таких как целые числа, поплавки и строки, например
import pandas as pd </i> x = pd.Series([A,B,C]) 0 A 1 B 2 Cпервый столбец ряда известен индексом т. е. 0,1,2 второй столбец-это ваши фактические данные, т. е. A,B, C
DataFrames-это двумерный объект, который может содержать ряды, список, Словарь
df=pd.DataFrame(rd(5,4),['A','B','C','D','E'],['W','X','Y','Z'])
серия представляет собой одномерный помеченный массив, способный содержать любой тип данных (целые числа, строки, числа с плавающей запятой, объекты Python и т. д.). Метки оси в совокупности называются индексом. Основным методом для создания серии является вызов:
s = pd.Series(data, index=index)DataFrame-это 2-мерная помеченная структура данных со столбцами потенциально разных типов. Вы можете думать об этом как о электронной таблице или таблице SQL, или о Дикте объектов серии.
d = {'one' : pd.Series([1., 2., 3.], index=['a', 'b', 'c']), two' : pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])} df = pd.DataFrame(d)
Comments