用法:
DataFrame.asof(where, subset=None)
返回
where
之前没有任何 NaN 的最后一行。取最后一行(对于
where
中的每个元素,如果是列表)没有任何 NaN。在DataFrame
的情况下,没有 NaN 的最后一行只考虑列的子集(如果不是None
)如果没有好的值,则为 DataFrame 的 Series 或一系列 NaN 值返回 NaN
- where:日期或 array-like 个日期
返回最后一行之前的日期。
- subset:
str 或 array-like of str,默认
None
对于 DataFrame,如果不是
None
,则仅使用这些列来检查 NaN。
- 标量、系列或数据帧
返回可以是:
标量:当
self
是系列且where
是标量时系列:当
self
是系列且where
是array-like 时,或者当self
是DataFrame 而where
是标量时DataFrame:当
self
是DataFrame 并且where
是array-like
返回标量、系列或数据帧。
参数:
返回:
注意:
假定日期已排序。如果不是这种情况,则引发。
例子:
一个系列和一个标量
where
。>>> s = pd.Series([1, 2, np.nan, 4], index=[10, 20, 30, 40]) >>> s 10 1.0 20 2.0 30 NaN 40 4.0 dtype:float64
>>> s.asof(20) 2.0
对于序列
where
,返回一个系列。第一个值是 NaN,因为where
的第一个元素在第一个索引值之前。>>> s.asof([5, 20]) 5 NaN 20 2.0 dtype:float64
不考虑缺失值。以下是
2.0
,而不是 NaN,即使 NaN 位于30
的索引位置。>>> s.asof(30) 2.0
考虑所有列
>>> df = pd.DataFrame({'a':[10, 20, 30, 40, 50], ... 'b':[None, None, None, None, 500]}, ... index=pd.DatetimeIndex(['2018-02-27 09:01:00', ... '2018-02-27 09:02:00', ... '2018-02-27 09:03:00', ... '2018-02-27 09:04:00', ... '2018-02-27 09:05:00'])) >>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30', ... '2018-02-27 09:04:30'])) a b 2018-02-27 09:03:30 NaN NaN 2018-02-27 09:04:30 NaN NaN
考虑单个列
>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30', ... '2018-02-27 09:04:30']), ... subset=['a']) a b 2018-02-27 09:03:30 30.0 NaN 2018-02-27 09:04:30 40.0 NaN
相关用法
- Python pandas.DataFrame.assign用法及代码示例
- Python pandas.DataFrame.asfreq用法及代码示例
- Python pandas.DataFrame.astype用法及代码示例
- Python pandas.DataFrame.apply用法及代码示例
- Python pandas.DataFrame.add_prefix用法及代码示例
- Python pandas.DataFrame.add用法及代码示例
- Python pandas.DataFrame.all用法及代码示例
- Python pandas.DataFrame.at_time用法及代码示例
- Python pandas.DataFrame.append用法及代码示例
- Python pandas.DataFrame.at用法及代码示例
- Python pandas.DataFrame.agg用法及代码示例
- Python pandas.DataFrame.add_suffix用法及代码示例
- Python pandas.DataFrame.applymap用法及代码示例
- Python pandas.DataFrame.aggregate用法及代码示例
- Python pandas.DataFrame.axes用法及代码示例
- Python pandas.DataFrame.abs用法及代码示例
- Python pandas.DataFrame.any用法及代码示例
- Python pandas.DataFrame.align用法及代码示例
- Python pandas.DataFrame.ewm用法及代码示例
- Python pandas.DataFrame.dot用法及代码示例
注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame.asof。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。