我有一个Pandas系列,在某行的时间值增加,值被重置,如何将重置值添加到前一行值

ttp71kqs  于 2023-01-24  发布在  其他
关注(0)|答案(1)|浏览(86)

我有这个Pandas系列

df = pd.DataFrame({'A': [1, 2, 3, 4, 5, 1, 2, 4, 5, 6]})

在这个系列中,行值从5重置为1,我想将重置值添加到之前的行值中。

df = pd.DataFrame({'A': [1, 2, 3, 4, 5, 6, 8, 12, 17, 23]})
8hhllhi2

8hhllhi21#

下面是一种使用pandas.Series.duplicatedpandas.Series.cumsum的"方法":

m1 = df["A"].duplicated()
m1.loc[m1.idxmax()-1:] = True

df["A"].where(~m1, df["A"][m1].cumsum()) #this will return a new Series

输出:

0     1
1     2
2     3
3     4
4     5
5     6
6     8
7    12
8    17
9    23
Name: A, dtype: int64

相关问题