如何将每日时间序列数据分组为几周的较小数据框

时间:2018-10-17 01:31:17

标签: python pandas

我有一个看起来像这样的数据框:

            open    high    low    close    weekday
time                    
2011-11-29  2.55    2.98    2.54    2.75    1
2011-11-30  2.75    3.09    2.73    2.97    2
2011-12-01  2.97    3.14    2.93    3.06    3
2011-12-02  3.06    3.14    3.03    3.12    4
2011-12-03  3.12    3.13    2.75    2.79    5
2011-12-04  2.79    2.90    2.61    2.83    6
2011-12-05  2.83    2.93    2.78    2.88    0
2011-12-06  2.88    3.05    2.87    3.03    1
2011-12-07  3.03    3.08    2.93    2.99    2
2011-12-08  2.99    3.01    2.88    2.98    3
2011-12-09  2.98    3.04    2.93    2.97    4
2011-12-10  2.97    3.13    2.93    3.05    5
2011-12-11  3.05    3.38    2.99    3.25    6

工作日列指的是0 =星期一,... 6 =星期日。 我想将一组较小的数据框仅包含星期五,星期六,星期日和星期一的数据。因此,一个子集如下所示:

2011-12-02  3.06    3.14    3.03    3.12    4
2011-12-03  3.12    3.13    2.75    2.79    5
2011-12-04  2.79    2.90    2.61    2.83    6
2011-12-05  2.83    2.93    2.78    2.88    0

1 个答案:

答案 0 :(得分:0)

drop_duplicates之前过滤

df[df.weekday.isin([4,5,6,0])].drop_duplicates('weekday')
Out[10]: 
            open  high   low  close  weekday
2011-12-02  3.06  3.14  3.03   3.12        4
2011-12-03  3.12  3.13  2.75   2.79        5
2011-12-04  2.79  2.90  2.61   2.83        6
2011-12-05  2.83  2.93  2.78   2.88        0