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。
学员评价