2014-12-11 42 views
0

我有熊猫数据框与列'日期'和'倾斜(浮号)。我想平均每个星期二和它在列表或数据框中存储的偏差值。我尝试使用在这个问题Pandas, groupby and summing over specific months我给出的lambda,但它只对一些特定的一周有帮助,但我不能跨过一周,即从一个星期二到另一个星期。你可以给如何做同样的事情吗?如何总结熊猫中2个重复值之间的所有值?

+0

你可以给一些示例数据和期望的输出吗? – joris 2014-12-11 07:59:57

回答

0

下面是用随机数据

一例
df = pd.DataFrame({'Date' : pd.date_range('20130101', periods=100), 
        'Skew': 10+pd.np.random.randn(100)}) 
min_date = df.Date.min() 
start = min_date.dayofweek 

if start < 1: 
    min_date = min_date - pd.np.timedelta64(6+start, 'D') 
elif start > 1: 
    min_date = min_date - pd.np.timedelta64(start-1, 'D') 

df.groupby((df.Date - min_date).astype('timedelta64[D]')//7).mean() 

输入:

>>> df 
     Date  Skew 
0 2013-01-01 10.082080 
1 2013-01-02 10.907402 
2 2013-01-03 8.485768 
3 2013-01-04 9.221740 
4 2013-01-05 10.137910 
5 2013-01-06 9.084963 
6 2013-01-07 9.457736 
7 2013-01-08 10.092777 

输出:

  Skew 
Date 
0  9.625371 
1  9.993275 
2  10.041077 
3  9.837709 
4  9.901311 
5  9.985390 
6  10.123757 
7  9.782892 
8  9.889291 
9  9.853204 
10 10.190098 
11 10.594125 
12 10.012265 
13  9.278008 
14 10.530251 

逻辑:从所述第一周的星期二和GROUPBY和各组查找相对周(即周的否)的意思。

相关问题