Series对象
1.1概述
Series是一种类似于一维数组的对象 Series对象由两部分组成:
一组数据(各种NumPy数据类型)
一组对应的数据标签(即索引)
1.2 Series对象的创建
可使用Series()函数将序列数据或字典数据生成Series对象
Series( data=None, index=None, dtype=None, ……)
参数说明:
– data:类数组的、可迭代数据、字典或标量值
– index:类数组的或Index,必须是散列的且与data的长度一样
– dtype:指定数据类型
obj = Series([4, 7, -5, 3])
Series的values和index属性:
values属性获取Series对象的值,是一个Numpy数组对象。
index属性获取Series对象的索引,是一个索引对象。
创建Series对象时,可指定一个对各个数据点进行标记的索引:
obj2 = Series([4, 7,-5,3], index=['d','b','a','c'])
也可直接通过字典来创建Series:
DataFrame对象
2.1概述
是一个表格型的数据结构:
它含有一组有序的列,每列可以是不同类型的值(数值、字符串、布尔值等)
DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。
2.2 DataFrame对象的创建
2.2.1创建DataFrame对象的方式:
用DataFrame()函数:
将字典生成为DataFrame对象:由等长列表或NumPy数组作为值组成的字典;
字典的键生成DataFrame对象的列索引,且全部列会被有序排列;
结果DataFrame会自动加上行索引(跟Series一样)或由指定的行索引序列生成。
从文件中直接将数据读取为一个DataFrame对象;
2.2.2 DataFrame()函数的格式:
DataFrame(data=None, index=None, columns=None, dtype=None,copy=False)
参数说明:
– data:ndarray数组、可迭代数据、字典、DataFame对象等
– index:类数组或Index对象,用于指定行索引;
– columns:类数组或Index对象,用于指定列索引。
如果在DataFrame()中通过columns参数指定了列索引的序列,则DataFrame的列就会按照指定顺序进行排列:
frame2 = DataFrame(data, columns=['year', 'state', 'pop'],
index=['one', 'two', 'three', 'four', 'five'])
frame2
另一种常见的数据形式是嵌套字典(即字典的字典):
pop = {'Nevada': {'2001': 2.4, '2002': 2.9},
'Ohio': {'2000': 1.5, '2001': 1.7, '2002':3.6}}
frame3 = DataFrame(pop)
frame3
如果将它传给DataFrame,它就会被解释为:
外层字典的键作为列,内层键则作为行索引;
内层字典的键会被合并、排序以形成最终的行索引。
字典的值是由Series组成的,也可以生成DataFrame对象:
索引对象
3.1 概述
pandas的索引对象负责管理轴标签和其他元数据(比如轴名称等)
构建Series或 DataFrame时,所用到的任何数组或其他序列的标签都会被转换成一个Index对象:
Index对象的元素是不可修改的,但可以重新索引:
除了长得像数组,Index的功能也类似一个固定大小的集合。