用法:
DataFrame.resample(rule, axis=0, closed=None, label=None, convention='start', kind=None, loffset=None, base=None, on=None, level=None, origin='start_day', offset=None)
转换(“resample”)给定时间序列数据的频率。
- rule: str:
表示要使用的频率的偏移量字符串。请注意,尚不支持 DateOffset 对象。
- closed: {“right”, “left”}, default None:
bin 区间的哪一侧是闭合的。除“M” 和“W” 的默认值为“right” 之外,所有频率偏移的默认值为“left”。
- label: {“right”, “left”}, default None:
使用哪个 bin 边标签来标记存储桶。除“M” 和“W” 的默认值为“right” 之外,所有频率偏移的默认值为“left”。
- on: str, optional:
对于 DataFrame,使用列而不是重新采样的索引。列必须是datetime-like。
- level: str or int, optional:
对于 MultiIndex,使用级别而不是用于重采样的索引。级别必须是datetime-like。
- 重采样器对象
参数:
返回:
注意:
请注意,结果中索引的 dtype(或 ‘on’ 列,如果使用'on=')将是最接近重采样频率的频率。例如,如果从纳秒重新采样到毫秒,则索引将是 dtype 'datetime64[ms]'。
例子:
首先,我们创建一个间隔为 1 分钟的时间序列:
>>> index = cudf.date_range(start="2001-01-01", periods=10, freq="1T") >>> sr = cudf.Series(range(10), index=index) >>> sr 2001-01-01 00:00:00 0 2001-01-01 00:01:00 1 2001-01-01 00:02:00 2 2001-01-01 00:03:00 3 2001-01-01 00:04:00 4 2001-01-01 00:05:00 5 2001-01-01 00:06:00 6 2001-01-01 00:07:00 7 2001-01-01 00:08:00 8 2001-01-01 00:09:00 9 dtype: int64
下采样到 3 分钟间隔,然后是 “sum” 聚合:
>>> sr.resample("3T").sum() 2001-01-01 00:00:00 3 2001-01-01 00:03:00 12 2001-01-01 00:06:00 21 2001-01-01 00:09:00 9 dtype: int64
使用每个间隔的右侧标记箱:
>>> sr.resample("3T", label="right").sum() 2001-01-01 00:03:00 3 2001-01-01 00:06:00 12 2001-01-01 00:09:00 21 2001-01-01 00:12:00 9 dtype: int64
关闭区间的右侧而不是左侧:
>>> sr.resample("3T", closed="right").sum() 2000-12-31 23:57:00 0 2001-01-01 00:00:00 6 2001-01-01 00:03:00 15 2001-01-01 00:06:00 24 dtype: int64
上采样到 30 秒间隔:
>>> sr.resample("30s").asfreq()[:5] # show the first 5 rows 2001-01-01 00:00:00 0 2001-01-01 00:00:30 <NA> 2001-01-01 00:01:00 1 2001-01-01 00:01:30 <NA> 2001-01-01 00:02:00 2 dtype: int64
使用 “bfill” 方法对空值进行上采样和填充:
>>> sr.resample("30s").bfill()[:5] 2001-01-01 00:00:00 0 2001-01-01 00:00:30 1 2001-01-01 00:01:00 1 2001-01-01 00:01:30 2 2001-01-01 00:02:00 2 dtype: int64
按 Dataframe 的指定列重采样:
>>> df = cudf.DataFrame({ ... "price": [10, 11, 9, 13, 14, 18, 17, 19], ... "volume": [50, 60, 40, 100, 50, 100, 40, 50], ... "week_starting": cudf.date_range( ... "2018-01-01", periods=8, freq="7D" ... ) ... }) >>> df price volume week_starting 0 10 50 2018-01-01 1 11 60 2018-01-08 2 9 40 2018-01-15 3 13 100 2018-01-22 4 14 50 2018-01-29 5 18 100 2018-02-05 6 17 40 2018-02-12 7 19 50 2018-02-19 >>> df.resample("M", on="week_starting").mean() price volume week_starting 2018-01-31 11.4 60.000000 2018-02-28 18.0 63.333333
相关用法
- Python cudf.DataFrame.reset_index用法及代码示例
- Python cudf.DataFrame.replace用法及代码示例
- Python cudf.DataFrame.repeat用法及代码示例
- Python cudf.DataFrame.rename用法及代码示例
- Python cudf.DataFrame.reindex用法及代码示例
- Python cudf.DataFrame.rmul用法及代码示例
- Python cudf.DataFrame.rfloordiv用法及代码示例
- Python cudf.DataFrame.round用法及代码示例
- Python cudf.DataFrame.rpow用法及代码示例
- Python cudf.DataFrame.radd用法及代码示例
- Python cudf.DataFrame.rdiv用法及代码示例
- Python cudf.DataFrame.rsub用法及代码示例
- Python cudf.DataFrame.rolling用法及代码示例
- Python cudf.DataFrame.rmod用法及代码示例
- Python cudf.DataFrame.rtruediv用法及代码示例
- Python cudf.DataFrame.mod用法及代码示例
- Python cudf.DataFrame.isin用法及代码示例
- Python cudf.DataFrame.apply用法及代码示例
- Python cudf.DataFrame.exp用法及代码示例
- Python cudf.DataFrame.drop用法及代码示例
注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cudf.DataFrame.resample。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。