当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pandas.DataFrame.asfreq用法及代码示例


用法:

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) 其中 startend 分别是原始索引中的第一个和最后一个条目(请参阅 pandas.date_range() )。与新索引中不存在于原始索引中的任何时间步相对应的值将为空(NaN),除非提供了填充此类未知数的方法(请参阅下面的 method 参数)。

如果需要对每组时间步长(例如聚合)进行操作以以新频率表示数据,则 resample() 方法更合适。

参数

freqDateOffset 或 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

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame.asfreq。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。