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


Python pandas.core.groupby.DataFrameGroupBy.resample用法及代码示例


用法:

DataFrameGroupBy.resample(rule, *args, **kwargs)

使用 TimeGrouper 时提供重采样。

给定一个 grouper,该函数根据字符串 “string” -> “frequency” 对其进行重新采样。

有关更多详细信息,请参阅频率别名文档。

参数

rulestr 或 DateOffset

表示目标 grouper 转换的偏移量字符串或对象。

*args, **kwargs

可能的参数是 howfill_methodlimitkindon ,以及 TimeGrouper 的其他参数。

返回

Grouper

返回一个附加了我们的重采样器的新石斑鱼。

例子

>>> idx = pd.date_range('1/1/2000', periods=4, freq='T')
>>> df = pd.DataFrame(data=4 * [range(2)],
...                   index=idx,
...                   columns=['a', 'b'])
>>> df.iloc[2, 0] = 5
>>> df
                    a  b
2000-01-01 00:00:00  0  1
2000-01-01 00:01:00  0  1
2000-01-01 00:02:00  5  1
2000-01-01 00:03:00  0  1

将 DataFrame 下采样到 3 分钟的 bin 中,并将落入 bin 的时间戳的值相加。

>>> df.groupby('a').resample('3T').sum()
                         a  b
a
0   2000-01-01 00:00:00  0  2
    2000-01-01 00:03:00  0  1
5   2000-01-01 00:00:00  5  1

将系列上采样到 30 秒的 bin。

>>> df.groupby('a').resample('30S').sum()
                    a  b
a
0   2000-01-01 00:00:00  0  1
    2000-01-01 00:00:30  0  0
    2000-01-01 00:01:00  0  1
    2000-01-01 00:01:30  0  0
    2000-01-01 00:02:00  0  0
    2000-01-01 00:02:30  0  0
    2000-01-01 00:03:00  0  1
5   2000-01-01 00:02:00  5  1

按月重新采样。将值分配给期间的月份。

>>> df.groupby('a').resample('M').sum()
            a  b
a
0   2000-01-31  0  3
5   2000-01-31  5  1

如上所述将序列下采样到 3 分钟的 bin 中,但关闭 bin 间隔的右侧。

>>> df.groupby('a').resample('3T', closed='right').sum()
                         a  b
a
0   1999-12-31 23:57:00  0  1
    2000-01-01 00:00:00  0  2
5   2000-01-01 00:00:00  5  1

将系列下采样到 3 分钟的 bin 中并关闭 bin 间隔的右侧,但使用右边而不是左侧标记每个 bin。

>>> df.groupby('a').resample('3T', closed='right', label='right').sum()
                         a  b
a
0   2000-01-01 00:00:00  0  1
    2000-01-01 00:03:00  0  2
5   2000-01-01 00:03:00  5  1

相关用法


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