2016-11-08 28 views
0

我具有被设置如下一个熊猫数据帧:组数据帧由两列,然后转移其他列的值高达1

Date  Name A B C 
09-01-10 Rose 11 2 5 
09-01-11 Rose 12 6 7 
09-01-12 Rose 9 7 14 
09-01-10 Emma 20 70 24 
09-01-11 Emma 19 74 19 

我想的值上移用于列A,B,和C 1的日子,所以新的数据帧可以是这个样子:

Date  Name A B C 
09-01-10 Rose 12 6 7 
09-01-11 Rose 9 7 14 
09-01-12 Rose NA NA NA 
09-01-10 Emma 19 74 19 
09-01-11 Emma NA NA NA 

我尝试这样做:

data= data.groupby(["Date","Name"]).sum() 
data = data.shift(-1) 

和它结束了looki纳克这样的,这是不正确的:

Date  Name A B C 
09-01-10 Rose 12 6 7 
09-01-11 Rose 9 7 14 
09-01-12 Rose 20 70 14 
09-01-10 Emma 19 74 19 
09-01-11 Emma NA NA NA 
+0

你对你想要什么的解释(“将值加1”)没有意义... – mprat

+0

我想将A,B和C列中的值移回一天h玫瑰和艾玛。 – Richa

回答

1

您需要GROUPBY NameDate列不变移列A,B,C,所以只需更新列A,B,C与位移版本:

data[['A', 'B', 'C']] = data.groupby('Name')['A', 'B', 'C'].shift(-1) 

enter image description here

+0

这工作,非常感谢你! – Richa

相关问题