Python 用正向填充将Pandas级数变换为单调递增

Python 用正向填充将Pandas级数变换为单调递增,python,pandas,series,Python,Pandas,Series,我想把一个非单调递增的系列转换成一个单调递增的系列。 非常类似于 但不是减少值,而是用以前的值替换它们。类似于DataFrame.fillna(method='ffill') 基本上,我想矢量化(最好是熊猫)以下代码: import matplotlib.pyplot as plt import pandas as pd s = pd.Series([0,1,2,2,3,2,4,2,3,5]) f,a = plt.subplots() s.plot(ax=a, alpha=0.5, linest

我想把一个非单调递增的系列转换成一个单调递增的系列。 非常类似于 但不是减少值,而是用以前的值替换它们。类似于DataFrame.fillna(method='ffill')

基本上,我想矢量化(最好是熊猫)以下代码:

import matplotlib.pyplot as plt
import pandas as pd
s = pd.Series([0,1,2,2,3,2,4,2,3,5])
f,a = plt.subplots()
s.plot(ax=a, alpha=0.5, linestyle='steps-mid')
for i in range(s.size-1):
    j=i+1
    if s.iat[j] < s.iat[i] :
        s.iat[j] = s.iat[i]
s.plot(ax=a, linestyle='steps-mid')
导入matplotlib.pyplot作为plt
作为pd进口熊猫
s=pd.系列([0,1,2,2,3,2,4,2,3,5])
f、 a=plt.子批次()
s、 绘图(ax=a,alpha=0.5,linestyle='steps-mid')
对于范围内的i(s.size-1):
j=i+1
如果s.iat[j]


任何帮助都将不胜感激。

我的朋友,你真幸运。现在已经有了一个适合你的方法

df=pd.DataFrame({'A':[0,1,2,2,3,2,4,2,3,5]})
df['A']=pd.DataFrame.cummax(df.A)
享受吧