gpt4 book ai didi

python - DataFrame:具有有效值运行总和的 fillna()

转载 作者:太空宇宙 更新时间:2023-11-03 13:34:10 25 4
gpt4 key购买 nike

我正在使用 Pandas Dataframe,它看起来像这样:

0   Data
1
2
3
4 5
5
6
7
8 21
9
10 2
11
12
13
14
15

我正在尝试用下一个有效值填充空白:df.fillna(method='backfill')。这行得通,但是我需要将上一个有效值添加到下一个有效值,从下到上,例如:

0   Data
1 28
2 28
3 28
4 28
5 23
6 23
7 23
8 23
9 2
10 2
11
12
13
14
15

我可以通过遍历它来让它工作,但是 pandas 中有没有一种方法可以做到这一点?

非常感谢!

最佳答案

你可以反转 df,然后 fillna(0)然后 cumsum并再次反转:

In [12]:

df = df[::-1].fillna(0).cumsum()[::-1]
df
Out[12]:
Data
0 28.0
1 28.0
2 28.0
3 28.0
4 23.0
5 23.0
6 23.0
7 23.0
8 2.0
9 2.0
10 0.0
11 0.0
12 0.0
13 0.0
14 0.0

这里我们使用切片表示法对df进行逆向,然后将所有的NaN替换为0,进行cumsum并逆向返回

关于python - DataFrame:具有有效值运行总和的 fillna(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42354516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com