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
如果
method
与level
一起传递。- ValueError
如果非唯一的多索引
- ValueError
如果传递了非唯一索引和
method
或limit
。
参见
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]))