maxframe.dataframe.Series.reindex_like#

Series.reindex_like(other, method=None, copy=True, limit=None, tolerance=None)#

返回一个与另一个对象具有匹配索引的对象。

使对象在所有轴上符合相同的索引。可选的填充逻辑,将 NaN 放置在先前索引中没有值的位置。除非新索引与当前索引等效且 copy=False,否则将生成一个新对象。

参数:
  • other (Object of the same data type) -- 其行和列索引用于定义此对象的新索引。

  • method ({None, 'backfill'/'bfill', 'pad'/'ffill', 'nearest'}) -- 用于在重新索引的 DataFrame 中填充空洞的方法。请注意:这仅适用于具有单调递增/递减索引的 DataFrames/Series。 * None(默认):不填充空缺 * pad / ffill:将上一个有效观测值向前传播到下一个有效值 * backfill / bfill:使用下一个有效观测值填充空缺 * nearest:使用最近的有效观测值填充空缺。

  • copy (bool, default True) -- 即使传递的索引相同,也返回一个新对象。

  • limit (int, default None) -- 不精确匹配时要填充的最大连续标签数。

  • tolerance (optional) -- 不精确匹配时原始标签与新标签之间的最大距离。索引在匹配位置的值必须满足方程 abs(index[indexer] - target) <= tolerance。容差可以是一个标量值,对所有值应用相同的容差,或者类似列表的形式,对每个元素应用不同的容差。类似列表的包括列表、元组、数组、Series,并且必须与索引大小相同,其数据类型必须与索引的类型完全匹配。

返回:

与调用者相同类型,但在每个轴上的索引已更改。

返回类型:

Series or DataFrame

参见

DataFrame.set_index

设置行标签。

DataFrame.reset_index

删除行标签或将它们移至新列。

DataFrame.reindex

更改到新索引或扩展索引。

备注

与调用 .reindex(index=other.index, columns=other.columns,...) 相同。

示例

>>> import pandas as pd
>>> import maxframe.dataframe as md
>>> df1 = md.DataFrame([[24.3, 75.7, 'high'],
...                     [31, 87.8, 'high'],
...                     [22, 71.6, 'medium'],
...                     [35, 95, 'medium']],
...                    columns=['temp_celsius', 'temp_fahrenheit',
...                             'windspeed'],
...                    index=md.date_range(start='2014-02-12',
...                                        end='2014-02-15', freq='D'))
>>> df1.execute()
           temp_celsius temp_fahrenheit windspeed
2014-02-12         24.3            75.7      high
2014-02-13           31            87.8      high
2014-02-14           22            71.6    medium
2014-02-15           35              95    medium
>>> df2 = md.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.execute()
            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).execute()
            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