2017-04-25 4 views
1

cumsum 무시 처음 두 행은 :팬더 : 나는 다음과 같은 열이있는 dataframe이

|---------------------| 
|   A   | 
|---------------------| 
|   0   | 
|---------------------| 
|   2.63  | 
|---------------------| 
|   7.10  | 
|---------------------| 
|   5.70  | 
|---------------------| 
|   6.96  | 
|---------------------| 
|   7.58  | 
|---------------------| 
|   3.3   | 
|---------------------| 
|   1.93  | 
|---------------------| 

나는 누적 합계를 얻을 필요가 있지만, 포인트는 특정 종류의 것입니다. 첫 번째 요소는 0이어야하고, I는 생성해야이 경우 그래서 다음은 이전 칼럼부터 누적 합계이다 :

|---------------------| 
|   B   | 
|---------------------| 
|   0   | 
|---------------------| 
|   0   | 
|---------------------| 
|   2.63  | 
|---------------------| 
|   9.73  | 
|---------------------| 
|  15.43  | 
|---------------------| 
|  22.39  | 
|---------------------| 
|  29.97  | 
|---------------------| 
|  33.27  | 
|---------------------| 

를 I은 쉽게 나는 조건을 갖지 않는 경우에 달성되는 것을 알

df['B'] = df.A.cumsum() 

그러나, 내가 어떻게이 문제를 해결하기 위해 어떤 생각을 가지고 있지 않으며, 나는 루프를 구현하는 생각,하지만 난 단순히 방법으로 사용 팬더가 희망 :에 의해 요구.

+1

당신은 단지'cumsum' 후'shift' 필요합니다'df.A.cumsum를()() 이동 fillna (0)' – Psidom

+0

을 @.. Psidom, 고마워. – lmiguelvargasf

답변

3

당신은 shiftfillna을 추가 할 수 있습니다

df = df.A.cumsum().shift().fillna(0) 
print (df) 
0  0.00 
1  0.00 
2  2.63 
3  9.73 
4 15.43 
5 22.39 
6 29.97 
7 33.27 
Name: A, dtype: float64