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