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