pandas.DataFrame.reindex_like # 数据框。reindex_like ( other , method = None , copy = None , limit = None , Tolerance = None ) [来源] # 返回一个与其他对象具有匹配索引的对象。 使对象在所有轴上具有相同的索引。可选的填充逻辑,将 NaN 放置在前一个索引中没有值的位置。除非新索引等于当前索引且 copy=False,否则将生成一个新对象。 参数: 相同数据类型的其他对象它的行索引和列索引用于定义该对象的新索引。 方法{无,'backfill'/'bfill','pad'/'ffill','最近'}用于填充重新索引的 DataFrame 中的漏洞的方法。请注意:这仅适用于具有单调递增/递减索引的 DataFrames/Series。 None(默认):不填补空白 pad / fill:将最后一个有效观察向前传播到下一个有效观察 backfill / bfill:使用下一个有效观察来填补空白 最近的:使用最近的有效观察来填补空白。 复制布尔值,默认 True返回一个新对象,即使传递的索引相同。 笔记 copy关键字将改变 pandas 3.0 中的行为 。默认情况下会启用Copy-on-Write ,这意味着所有带有 copy关键字的方法都将使用惰性复制机制来推迟复制并忽略copy关键字。 copy关键字将在 pandas 的未来版本中删除。 您已经可以通过启用写入时复制来获得未来的行为和改进pd.options.mode.copy_on_write = True limit int,默认无用于填充不精确匹配的最大连续标签数。 公差可选不精确匹配的原始标签和新标签之间的最大距离。匹配位置处的索引值必须满足方程。abs(index[indexer] - target) <= tolerance 公差可以是标量值,它对所有值应用相同的公差,也可以是类似列表的,它对每个元素应用可变的公差。类列表包括列表、元组、数组、系列,并且必须与索引大小相同,并且其数据类型必须与索引的类型完全匹配。 返回: 系列或数据框与调用者的类型相同,但每个轴上的索引发生了变化。 也可以看看 DataFrame.set_index设置行标签。 DataFrame.reset_index删除行标签或将其移动到新列。 DataFrame.reindex更改为新索引或扩展索引。 笔记 与调用相同 。.reindex(index=other.index, columns=other.columns,...) 例子 >>> df1 = pd.DataFrame([[24.3, 75.7, 'high'], ... [31, 87.8, 'high'], ... [22, 71.6, 'medium'], ... [35, 95, 'medium']], ... columns=['temp_celsius', 'temp_fahrenheit', ... 'windspeed'], ... index=pd.date_range(start='2014-02-12', ... end='2014-02-15', freq='D')) >>> df1 temp_celsius temp_fahrenheit windspeed 2014-02-12 24.3 75.7 high 2014-02-13 31.0 87.8 high 2014-02-14 22.0 71.6 medium 2014-02-15 35.0 95.0 medium >>> df2 = pd.DataFrame([[28, 'low'], ... [30, 'low'], ... [35.1, 'medium']], ... columns=['temp_celsius', 'windspeed'], ... index=pd.DatetimeIndex(['2014-02-12', '2014-02-13', ... '2014-02-15'])) >>> df2 temp_celsius windspeed 2014-02-12 28.0 low 2014-02-13 30.0 low 2014-02-15 35.1 medium >>> df2.reindex_like(df1) temp_celsius temp_fahrenheit windspeed 2014-02-12 28.0 NaN low 2014-02-13 30.0 NaN low 2014-02-14 NaN NaN NaN 2014-02-15 35.1 NaN medium