Pandas数据框中的更新/设置值从一个月更改为下一个月

时间:2017-03-04 21:37:20

标签: pandas dataframe

我有包含客户产品和服务信息的月度数据。客户可以更改其帐户并添加服务或取消服务等。我需要能够从一个月到下一个月捕获这些更改。所以我有一些样本数据看起来像:

Month       AcctKey     AcctNo              PrdDs       PrdCd   Units
7/1/2016    14162010    100ZZ01010109999    TPLBBVCEVID FTV     1
7/1/2016    14162010    100ZZ01010109999    TPLBBVCEVID FDR     1
7/1/2016    14162010    100ZZ01010109999    TPLBBVCEVID RAL     2
8/1/2016    14162010    100ZZ01010109999    DBLVCEVID   FDR     0
8/1/2016    14162010    100ZZ01010109999    DBLVCEVID   VPR     1
8/1/2016    14162010    100ZZ01010109999    DBLVCEVID   RAL     1
8/1/2016    14162010    100ZZ01010109999    DBLVCEVID   FTV     1
8/1/2016    14162010    100ZZ01010109999    DBLVCEVID   FIR     2
9/1/2016    14162010    100ZZ01010109999    DBLVCEVID   RAL     0
9/1/2016    14162010    100ZZ01010109999    DBLVCEVID   FTV     1
9/1/2016    14162010    100ZZ01010109999    DBLVCEVID   VPR     1
9/1/2016    14162010    100ZZ01010109999    DBLVCEVID   FIR     2

这是我连接的三个数据帧。它是2016年3个月单个客户记录的一个例子。这个"客户"取消了服务并添加了其他一些服务。这看起来更清晰:

Month       AcctKey     AcctNo              PrdDs       FDR FIR FTV RAL VPR
7/1/2016    14162010    100ZZ01010109999    TPLBBVCEVID 1   0   1   2   0
8/1/2016    14162010    100ZZ01010109999    DBLVCEVID   0   2   1   1   1
9/1/2016    14162010    100ZZ01010109999    DBLVCEVID   0   2   1   0   1

8月FDR被取消,FIR被加入,FTV没有变化,RAL降级并最终在9月被取消,VPR被加入。

我希望创建另一个数据框,如:

Month       AcctKey     AcctNo              PrdDs         FDR   FIR FTV RAL VPR     PrdDsMvmt       FDRMvmt       FIRMvmt         FTVMvmt         RALMvmt       VPRMvmt
7/1/2016    14162010    100ZZ01010109999    TPLBBVCEVID   1     0     1   2   0     -               -               -               -               -             -
8/1/2016    14162010    100ZZ01010109999    DBLVCEVID     0     2     1   1   1     DBLVCEVID       out           in              no_change       down          in
9/1/2016    14162010    100ZZ01010109999    DBLVCEVID     0     2     1   0   1     no_change       no_change     no_change       no_change       out           no_change

7月第一个月的破折号向我表明这是第一张唱片。请注意,实际数据集在一个月内最多可​​达200​​万行(可能更多)。

0 个答案:

没有答案