【问题标题】:Pandas Dataframe ... how to incrementally add values of rows?Pandas Dataframe ...如何增量添加行的值?
【发布时间】:2020-12-17 22:08:32
【问题描述】:

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

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

但我不确定我能否让它完全按照我的意愿去做。下图及文字版:

文字版

1--1%
1--2%
4--6%
4--10%
2--12%

... 以此类推,直到 100%。

我需要编写一个 for 循环来执行此操作吗?

Excel图表:

【问题讨论】:

标签: python pandas sum


【解决方案1】:

您可以为此使用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

【讨论】:

    猜你喜欢
    • 2017-03-07
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 2016-05-02
    • 2023-03-10
    • 1970-01-01
    • 2022-11-10
    相关资源
    最近更新 更多