pandas的索引对象负责管理轴标签和其他元数据(比如轴名称等)。构建Series或DataFrame时,所用到的任何数组或其他序列标签都会被转换成一个Index:
obj = pd.Series(range(3),index=['a','b','c'])
index = obj.index
print index
结果
Index([u'a', u'b', u'c'], dtype='object')
Index对象是不可修改的(immutable),因此用户不能对其进行修改。
不可修改性非常重要,因为这样才能使Index对象在多个数据结构之间安全共享。
index = pd.Index(np.arange(3))
obj2 = pd.Series([1.5,-2.5,0],index=index)
print obj2.index is index
结果
True
除了长得像数组,Index的功能也类似一个固定大小的集合:
print frame3
print 'Ohio' in frame3.columns
print 2003 in frame3.index
输出结果
state Nevada Ohio
year
2000 NaN 1.5
2001 2.4 1.7
2002 2.9 3.6
True
False
每个索引都有一些方法和属性,它们可用于设置逻辑并回答有关该索引所包含的数据的常见问题。
下表为index的方法和属性