pandas.Series.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