用法:
DataFrame.asfreq(freq, method=None, how=None, normalize=False, fill_value=None)
将时间序列转换为指定频率。
以指定的频率返回符合新索引的原始数据。
如果此 DataFrame 的索引是
PeriodIndex
,则新索引是用PeriodIndex.asfreq
转换原始索引的结果(因此原始索引会将 one-to-one 映射到新索引)。否则,新索引将等效于
pd.date_range(start, end, freq=freq)
其中start
和end
分别是原始索引中的第一个和最后一个条目(请参阅pandas.date_range()
)。与新索引中不存在于原始索引中的任何时间步相对应的值将为空(NaN
),除非提供了填充此类未知数的方法(请参阅下面的method
参数)。如果需要对每组时间步长(例如聚合)进行操作以以新频率表示数据,则
resample()
方法更合适。- freq:DateOffset 或 str
频率 DateOffset 或字符串。
- method:{‘backfill’/'bfill', ‘pad’/'ffill'},默认无
用于填充重新索引系列中的孔的方法(注意这不会填充已经存在的 NaN):
‘pad’ /‘ffill’:将最后一个有效观察值向前传播到下一个有效值
‘backfill’ /‘bfill’:使用 NEXT 有效观测值填充。
- how:{‘start’, ‘end’},默认结束
仅适用于 PeriodIndex(参见 PeriodIndex.asfreq)。
- normalize:布尔值,默认为 False
是否将输出索引重置为午夜。
- fill_value:标量,可选
用于缺失值的值,在上采样期间应用(注意这不会填充已经存在的 NaN)。
- DataFrame
重新索引到指定频率的 DataFrame 对象。
参数:
返回:
注意:
要了解有关频率字符串的更多信息,请参阅此链接。
例子:
首先创建一个具有 4 个一分钟时间戳的系列。
>>> index = pd.date_range('1/1/2000', periods=4, freq='T') >>> series = pd.Series([0.0, None, 2.0, 3.0], index=index) >>> df = pd.DataFrame({'s':series}) >>> df s 2000-01-01 00:00:00 0.0 2000-01-01 00:01:00 NaN 2000-01-01 00:02:00 2.0 2000-01-01 00:03:00 3.0
将系列上采样到 30 秒的 bin。
>>> df.asfreq(freq='30S') s 2000-01-01 00:00:00 0.0 2000-01-01 00:00:30 NaN 2000-01-01 00:01:00 NaN 2000-01-01 00:01:30 NaN 2000-01-01 00:02:00 2.0 2000-01-01 00:02:30 NaN 2000-01-01 00:03:00 3.0
再次上采样,提供
fill value
。>>> df.asfreq(freq='30S', fill_value=9.0) s 2000-01-01 00:00:00 0.0 2000-01-01 00:00:30 9.0 2000-01-01 00:01:00 NaN 2000-01-01 00:01:30 9.0 2000-01-01 00:02:00 2.0 2000-01-01 00:02:30 9.0 2000-01-01 00:03:00 3.0
再次上采样,提供
method
。>>> df.asfreq(freq='30S', method='bfill') s 2000-01-01 00:00:00 0.0 2000-01-01 00:00:30 NaN 2000-01-01 00:01:00 NaN 2000-01-01 00:01:30 2.0 2000-01-01 00:02:00 2.0 2000-01-01 00:02:30 3.0 2000-01-01 00:03:00 3.0
相关用法
- Python pandas.DataFrame.assign用法及代码示例
- Python pandas.DataFrame.asof用法及代码示例
- 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.asfreq。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。