lmi*_*asf 2 python dataframe pandas cumsum
我有一个数据框,其中包含以下列:
|---------------------|
| A |
|---------------------|
| 0 |
|---------------------|
| 2.63 |
|---------------------|
| 7.10 |
|---------------------|
| 5.70 |
|---------------------|
| 6.96 |
|---------------------|
| 7.58 |
|---------------------|
| 3.3 |
|---------------------|
| 1.93 |
|---------------------|
Run Code Online (Sandbox Code Playgroud)
我需要得到累积总和,但这一点有点特别.第一个元素应该是0,以下是从前一列开始的累积和,所以在这种情况下我需要生成:
|---------------------|
| B |
|---------------------|
| 0 |
|---------------------|
| 0 |
|---------------------|
| 2.63 |
|---------------------|
| 9.73 |
|---------------------|
| 15.43 |
|---------------------|
| 22.39 |
|---------------------|
| 29.97 |
|---------------------|
| 33.27 |
|---------------------|
Run Code Online (Sandbox Code Playgroud)
我知道当没有我要求的条件时很容易实现:
df['B'] = df.A.cumsum()
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何解决这个问题,我正在考虑实现一个for循环,但我希望有一种使用pandas的简单方法.
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1085 次 |
| 最近记录: |