8分钟
Index2
4. Index
的功能类似一个固定大小的集合。其类似于集合的方法有(因为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
5. 我们可以将Index
转换成其他数据类型:
.astype(dtype,[,copy])
:转换成另一个数据类型的Index
,其label
的dtype
被转换成指定的值.tolist()
:转换成列表.to_series(**kwargs)
:转换成Series
,Series
的数据和label
相同
6. Index
提供的选取方法有:
.get_indexer(target[, method, limit, ...])
:获取target
(一个Index
对象)对应的下标列表。target
:一个Index
对象。我们要考察的就是Index
中的每个label
在self
中的下标序列。method
:指定label
的匹配方法。可以为None
,表示严格匹配(如果不存在则下标为 -1)。如果为'pad'/'ffill'
,则:若未找到匹配的,则使用前向匹配。如果为'backfill'/'bfill'
,则:若未找到匹配的,则使用后向匹配。如果为'nearest'
,则:若未找到匹配的,则使用最近邻匹配。 匹配时,假设你的Index
的label
是有序排列的(要么是升序,要么是降序)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
找不到,则抛出异常。.get_value(series, key)
:寻找Series
指定label
处的值。若key
指定的label
找不到,则抛出异常。.slice_locs([start, end, step, kind])
:计算给定start label
和end label
之间的下标序列,返回代表该下标序列的切片或者数组。其中不包括end
。
学员评价