2016-11-08 55 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

相關問題