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

如果 methodlevel 一起传递。

ValueError

如果多级索引不唯一

ValueError

如果索引不唯一且传递了 methodlimit

参见

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]))