當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。