maxframe.dataframe.DataFrame.reindex_like#
- DataFrame.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。容差可以是标量值,适用于所有值,也可以是类列表,对每个元素应用不同的容差。类列表包括 list、tuple、array、Series,并且必须与索引大小相同,其 dtype 必须与索引类型完全匹配。
- 返回:
与调用者类型相同,但每个轴上的索引已更改。
- 返回类型:
参见
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