Python 熊猫数据帧。。。如何以增量方式添加行的值?

Python 熊猫数据帧。。。如何以增量方式添加行的值?,python,pandas,sum,Python,Pandas,Sum,有没有一种简单的方法可以将相邻列中当前行上方所有行的值相加?点击下面的图片,看看我想做什么。看到它比解释它容易 文本说明:我正在尝试创建一个图表,其中B列是a中位于其上方的所有行的总和或百分比。这样,我可以快速可视化四分位、三分位等在数据帧中的位置。我熟悉百分位函数 但我不确定我能不能让它做我想让它做的事情。下图和文本版本: 文本版本 1--1% 1--2% 4--6% 4--10% 2--12% 。。。 以此类推,达到100% 我需要写一个for循环来完成这个任务吗 Excel图表:

有没有一种简单的方法可以将相邻列中当前行上方所有行的值相加?点击下面的图片,看看我想做什么。看到它比解释它容易

文本说明:我正在尝试创建一个图表,其中B列是a中位于其上方的所有行的总和或百分比。这样,我可以快速可视化四分位、三分位等在数据帧中的位置。我熟悉百分位函数

但我不确定我能不能让它做我想让它做的事情。下图和文本版本:

文本版本

1--1%
1--2%
4--6%
4--10%
2--12%
。。。 以此类推,达到100%

我需要写一个for循环来完成这个任务吗

Excel图表:

您可以使用
cumsum
进行以下操作:

import numpy as np
import pandas as pd
df = pd.DataFrame(data=dict(x=[13,22,34,21,33,41,87,24,41,22,18,12,13]))
df["percent"] = (100*df.x.cumsum()/df.x.sum()).round(1)
输出:

     x  percent
0   13      3.4
1   22      9.2
2   34     18.1
3   21     23.6
4   33     32.3
5   41     43.0
6   87     65.9
7   24     72.2
8   41     82.9
9   22     88.7
10  18     93.4
11  12     96.6
12  13    100.0

您可以为此使用
cumsum

import numpy as np
import pandas as pd
df = pd.DataFrame(data=dict(x=[13,22,34,21,33,41,87,24,41,22,18,12,13]))
df["percent"] = (100*df.x.cumsum()/df.x.sum()).round(1)
输出:

     x  percent
0   13      3.4
1   22      9.2
2   34     18.1
3   21     23.6
4   33     32.3
5   41     43.0
6   87     65.9
7   24     72.2
8   41     82.9
9   22     88.7
10  18     93.4
11  12     96.6
12  13    100.0

这回答了你的问题吗?这回答了你的问题吗?