pandas.Index.reindex#

Index.reindex(target, method=None, level=None, limit=None, tolerance=None)[源代码][源代码]#

创建带有目标值的索引。

参数:
目标一个可迭代对象

一个包含用于创建新索引的值的可迭代对象。

方法{None, ‘pad’/’ffill’, ‘backfill’/’bfill’, ‘nearest’},可选
  • 默认:仅精确匹配。

  • pad / ffill: 如果没有精确匹配,找到前一个索引值。

  • backfill / bfill: 如果没有精确匹配,使用下一个索引值

  • nearest: 如果没有完全匹配,则使用最近的索引值。距离相同时,优先选择较大的索引值。

级别int, 可选

多索引的级别。

限制int, 可选

target 中不精确匹配时匹配的最大连续标签数。

toleranceint 或 float, 可选

不精确匹配中原始标签和新标签之间的最大距离。匹配位置的索引值必须满足方程 abs(index[indexer] - target) <= tolerance

容差可以是一个标量值,对所有值应用相同的容差,也可以是类列表的,对每个元素应用可变的容差。类列表的包括列表、元组、数组、Series,并且必须与索引的大小相同,其dtype必须与索引的类型完全匹配。

返回:
new_indexpd.Index

生成的索引。

索引器np.ndarray[np.intp] 或 None

原始索引中输出值的索引。

引发:
TypeError

如果 methodlevel 一起传递。

ValueError

如果非唯一的多索引

ValueError

如果传递了非唯一索引和 methodlimit

参见

Series.reindex

使用可选的填充逻辑将系列调整为新的索引。

DataFrame.reindex

使 DataFrame 符合新的索引,并带有可选的填充逻辑。

例子

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