如何计算某个时间段内数据农场中两组之间的增量支出

时间:2017-10-31 13:34:42

标签: python r pandas numpy data-analysis

我有一个包含以下信息的大数据框,列日显示dd/mm/yy格式的日期。例如,如下所示,

   UserID     group       day  sp       PU          new
0     213      test   6/10/14   4  $628.14     test-Red
1     314   control   6/10/14  15   $29.98      control
2     354      test  13/10/14   4  $554.58  test-NonRed
3    2131     test1  13/10/14   2   $60.41     test-Red
4     314  control1  13/10/14   1    $8.71      control
5     354     test1  20/10/14   1  $165.63  test-NonRed

我需要计算总测试组(test-Red和test-NonRed)与对​​照组相比6周内的增量支出。我需要以绝对$或%显示结果。 我试过的,

df.groupby(by=['PU','day']).sum().groupby(level=[0]).cumsum()

这给了我每组的组的绝对总和,但是 例外答案是这样的,每个组也有%

Control             $# 
Test - NonRed       $# 
Test - Red          $#
Total Result        $#

任何帮助都会很棒

1 个答案:

答案 0 :(得分:1)

你需要几步才能到达那里

df.PU=df.PU.str[1:].astype(float)
df.day=pd.to_datetime(df.day)
new1=pd.pivot_table(df,index='new',columns='day',values='PU',aggfunc=sum,fill_value=0,margins=True)
new1=new1.drop('All',1)
new1.cumsum(1)
Out[263]: 
day          2014-06-10 00:00:00  2014-10-13 00:00:00  2014-10-20 00:00:00
new                                                                       
control                    29.98                38.69                38.69
test-NonRed                 0.00               554.58               720.21
test-Red                  628.14               688.55               688.55
All                       658.12              1281.82              1447.45