pandas系列和单列DataFrame之间有什么区别?

为什么pandas在一个Series和一个单列DataFrame之间做了区分?
换句话说: Series课的存在是什么原因?

我主要使用date时间索引的时间序列,也许这有助于设置上下文。

引用pandas文档

大pandas。 DataFramedata = None,index = None,columns = None,dtype = None,copy = False

二维大小可变,具有标记轴(行和列)的潜在异构表格数据结构。 算术运算在行和列标签上alignment。 可以被认为是Series对象的类似字典的容器。 主要pandas数据结构

(强调我的,句子片段不是我的)

因此,Series是DataFrame的单列的数据结构,不仅在概念上,而且实际上也就是说, DataFrame的数据实际上作为Series的集合存储在内存中。

类似地: 我们需要列表和matrix,因为matrix是用列表构build的。 单行母校,虽然相当于function列表仍然不能存在没有他们组成的列表。

他们都有非常相似的API,但是你会发现DataFrame方法总是迎合你有多个列的可能性。 当然,您可以随时添加另一个Series (或同等对象)到DataFrame ,而将Series添加到另一个Series涉及到创build一个DataFrame

来自pandas文档http://pandas.pydata.org/pandas-docs/stable/dsintro.html系列是一个一维标签的数组,可以容纳任何数据types。; 以pandasforms读取数据系列:

 import pandas as pd ds = pd.Series(data, index=index) 

DataFrame是一个具有可能不同types列的二维标签数据结构。

 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(brics.country, index=['BR','RU','IN','US']) 

输出:

 >>> d BR Brazil RU Russia IN India US United States df = pd.DataFrame(brics.area, index=['BR','RU','IN','US']) 

输出:

 >>> df area BR 12015 RU 457 IN 457787 US 457326