-
参数:
data
:一个array-like
,必须是一维的name
:一个字符串,为Index
的名字。dtype
:指定数据类型。如果为None
,则默认为object
copy
:一个布尔值。如果为True
,则拷贝输入数据data
tupleize_cols
:一个布尔值,如果可能则尽量创建MultiIndex
对象
Index
对象负责管理轴label
和其他元数据(比如轴name
)。构建Series/DataFrame
时,传给index/columns
关键字的任何数组或者序列都将被转化成一个Index
。Index
对象是immutable
,因此用户无法对其进行修改。这样才能够使得Index
对象在多个数据结构之间安全共享存在多种索引类型。
Index
:最泛化的Index
对象,将轴label
表示为一个Python
对象组成的Numpy
数组Int64Index
:针对整数的特殊Index
MultiIndex
:层次化索引对象,表示单个轴上的多层索引。可以看做由元组组成的数组DatatimeIndex
:存储纳秒级时间戳,用numpy
的datatime64
类型表示
Index
的功能类似一个固定大小的集合。其类似于集合的方法有(因为Index
不可变,因此返回的都是新的对象):.copy([name,deep,dtype])
:返回一份Index
的拷贝。.append(other)
:连接另一个Index
对象,产生一个新的Index
对象。注意重复的label
并不会合并.difference(other)
:计算差集,返回一个Index
对象.intersection(other)
:计算交集,返回一个Index
对象.union(other)
:计算并集,返回一个新的Index
对象.isin(values[, level])
:计算Index
中各label
是否在values
中.delete(loc)
:删除下标loc
处的元素,得到新的Index
.drop(labels[, errors])
:删除传入的labels
,得到新的Index
.insert(loc, item)
:在指定下标位置插入值,得到新的Index
.unique()
:返回Index
中唯一值的数组,得到新的Index
我们可以将
Index
转换成其他数据类型:.tolist()
:转换成列表.to_series(**kwargs)
:转换成Series
,Series
的数据和label
相同
Index
提供的选取方法有:.get_indexer(target[, method, limit, ...])
:获取(一个Index
对象)对应的下标列表。target
:一个Index
对象。我们要考察的就是Index
中的每个label
在self
中的下标序列。limit
:一个整数,指定前向/后向/最近填充时:如果有连续的k
个NaN
,则只填充其中limit
个。tolerance
:一个整数,用于给出在不匹配时,连续采用前向/后向/最近邻匹配的跨度的最大值。
.get_level_values(level)
:返回指定level
的Index
,用于MultiIndex
。.get_loc(key[, method, tolerance])
:返回指定label
处的下标,由key
指定。其中method
和tolerance
参数见上述。如果method=None
,且key
指定的label
找不到,则抛出异常。.slice_locs([start, end, step, kind])
:计算给定start label
和end label
之间的下标序列,返回代表该下标序列的切片或者数组。其中不包括。