pandas.Index.reindex#
- Index.reindex(target, method=None, level=None, limit=None, tolerance=None)[源代码]#
使用目标的值创建索引。
- Parameters:
- target一个可迭代对象
- <strong>method</strong>{None, ‘pad’/’ffill’, ‘backfill’/’bfill’, ‘nearest’}, optional
默认值:仅精确匹配。
pad / ffill:如果在没有精确匹配的情况下则查找*上一个*索引值。
backfill / bfill:如果在没有精确匹配的情况下则使用*下一个*索引值。
nearest:如果在没有精确匹配的情况下则使用*最近*的索引值。相等的距离通过优先选择较大的索引值来打破平局。
- levelint, optional
多级索引的级别。
- <strong>limit</strong>int, optional
用于非精确匹配的目标中连续标签的最大数量。
- toleranceint 或 float, 可选
原始标签和新标签之间的最大距离,用于非精确匹配。匹配位置的索引值必须满足方程
abs(index[indexer] - target) <= tolerance。tolerance 可以是标量值,它将相同的容差应用于所有值,也可以是类列表的值,它将可变容差应用于每个元素。类列表包括 list、tuple、array、Series,并且必须与索引大小相同,其 dtype 必须与索引的确切类型匹配。
- Returns:
- new_indexpd.Index
结果索引。
- indexernp.ndarray[np.intp] 或 None
输出值在原始索引中的索引。
- Raises:
- TypeError
如果
method和level一起传递。- ValueError
如果多级索引不唯一
- ValueError
如果索引不唯一且传递了
method或limit。
参见
Series.reindex使用可选的填充逻辑使Series符合新索引。
DataFrame.reindex根据可选的填充逻辑调整 DataFrame 的索引。
Examples
>>> idx = pd.Index(['car', 'bike', 'train', 'tractor']) >>> idx Index(['car', 'bike', 'train', 'tractor'], dtype='object') >>> idx.reindex(['car', 'bike']) (Index(['car', 'bike'], dtype='object'), array([0, 1]))