pandas系列和单列DataFrame之间有什么区别?
为什么pandas在一个Series
和一个单列DataFrame
之间做了区分?
换句话说: Series
课的存在是什么原因?
我主要使用date时间索引的时间序列,也许这有助于设置上下文。
引用pandas文档
大pandas。 DataFrame ( data = 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