pandas.DataFrame.reindex_like#
- DataFrame.reindex_like(other, method=None, copy=True, limit=None, tolerance=None)[源代码]#
将索引匹配的对象作为其他对象返回。
使对象在所有轴上符合相同的索引。可选的填充逻辑,将NaN放在前一个索引中没有值的位置。除非新索引等同于当前索引并且COPY=FALSE,否则将生成新对象。
- 参数
- other具有相同数据类型的
它的行和列索引用于定义该对象的新索引。
- method{无,‘回填’/‘填充’,‘填充’/‘填充’,‘最近’}
用于填充已重新索引的DataFrame中的漏洞的方法。请注意:这只适用于指数单调递增/递减的DataFrames/Series。
无(默认):不填充空白
填充/填充:将上一个有效观测向前传播到下一个有效观测
回填/b填充:使用下一个有效的观测来填充缺口
最近:使用最近的有效观测值来填充缺口。
- copy布尔值,默认为True
返回一个新对象,即使传递的索引相同。
- limitInt,默认为无
为不完全匹配而填充的连续标签的最大数量。
- tolerance可选
对于不完全匹配的原始标签和新标签之间的最大距离。匹配位置处的索引值必须满足公式
abs(index[indexer] - target) <= tolerance
。公差可以是标量值,它对所有值应用相同的公差,也可以是列表形式,它对每个元素应用可变公差。类似列表的包括列表、元组、数组、系列,并且必须与索引的大小相同,并且其数据类型必须与索引的类型完全匹配。
- 退货
- 系列或DataFrame
与调用方的类型相同,但每个轴上的索引都发生了变化。
参见
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