pandas.Series.asfreq # 系列。asfreq ( freq , method = None , how = None , normalize = False , fill_value = None ) [来源] # 将时间序列转换为指定频率。 返回符合指定频率的新索引的原始数据。 如果这个Series/DataFrame的索引是 a PeriodIndex,则新索引是原始索引 转换的结果 PeriodIndex.asfreq(因此原始索引将一对一映射到新索引)。 否则,新索引将等价于where和are 分别是原始索引中的第一个和最后一个条目(请参阅)。与新索引中原始索引中不存在的任何时间步相对应的值将为 null ( ),除非提供了填充此类未知数的方法(请参阅下面的参数)。pd.date_range(start, end, freq=freq)startendpandas.date_range()NaNmethod resample()如果需要对每组时间步长(例如聚合)进行操作来表示新频率的数据,则该方法更合适。 参数: freq DateOffset 或 str频率 DateOffset 或字符串。 方法{'backfill'/'bfill', 'pad'/'ffill'}, 默认 None用于填充重新索引系列中的孔的方法(请注意,这不会填充已经存在的 NaN): 'pad' / 'ffill':将最后一个有效观察向前传播到下一个有效观察 'backfill' / 'bfill':使用下一个有效观察来填充。 如何{'start', 'end'}, 默认结束仅适用于PeriodIndex(请参阅PeriodIndex.asfreq)。 标准化布尔值,默认 False是否将输出索引重置为午夜。 fill_value标量,可选用于缺失值的值,在上采样期间应用(请注意,这不会填充已经存在的 NaN)。 返回: 系列/数据框Series/DataFrame 对象重新索引到指定的频率。 也可以看看 reindex使用可选的填充逻辑使 DataFrame 符合新索引。 笔记 要了解有关频率字符串的更多信息,请参阅此链接。 例子 首先创建一个具有 4 个一分钟时间戳的系列。 >>> index = pd.date_range('1/1/2000', periods=4, freq='min') >>> 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