我有这个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]})
8hhllhi21#
下面是一种使用pandas.Series.duplicated和pandas.Series.cumsum的"方法":
pandas.Series.duplicated
pandas.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
1条答案
按热度按时间8hhllhi21#
下面是一种使用
pandas.Series.duplicated
和pandas.Series.cumsum
的"方法":输出: