pandas.Index.asof #

最终 索引。asof (标签) [来源] #

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

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

参数
标签对象

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

返回
目的

传递的标签(如果它在索引中)。如果传递的标签不在排序索引中,则为前一个标签;如果没有这样的标签,则为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