pandas.Index.asof#

final Index.asof(label)[源代码][源代码]#

返回索引中的标签,如果不存在,则返回前一个标签。

假设索引已排序,如果传递的索引标签在索引中,则返回该标签;如果传递的索引标签不在索引中,则返回前一个索引标签。

参数:
标签对象

该方法返回的最新索引标签的标签。

返回:
对象

如果传递的标签在索引中,则传递的标签。如果传递的标签不在排序索引中或为 NaN,则前一个标签,如果没有这样的标签,则为 NaN

参见

Series.asof

返回传递索引之前系列中的最新值。

merge_asof

执行一个 asof 合并(类似于左连接,但它匹配最近键而不是相等键)。

Index.get_loc

asof 是围绕 get_loc 的一个薄包装,使用 method=’pad’。

示例

Index.asof 返回直到传递标签的最新索引标签。

>>> idx = pd.Index(["2013-12-31", "2014-01-02", "2014-01-03"])
>>> idx.asof("2014-01-01")
'2013-12-31'

如果标签在索引中,该方法返回传递的标签。

>>> idx.asof("2014-01-02")
'2014-01-02'

如果索引中的所有标签都晚于传递的标签,则返回 NaN。

>>> idx.asof("1999-01-02")
nan

如果索引未排序,则会引发错误。

>>> idx_not_sorted = pd.Index(["2013-12-31", "2015-01-02", "2014-01-03"])
>>> idx_not_sorted.asof("2013-12-31")
Traceback (most recent call last):
ValueError: index must be monotonic increasing or decreasing