【发布时间】:2020-10-06 12:19:46
【问题描述】:
我想将非单调递增的 Pandas Series 转换为单调递增的 Pandas Series。 非常类似于Transform a Pandas series to be monotonic 而是丢弃递减的值,用之前的值替换它们。与 DataFrame.fillna(method='ffill') 类似。
基本上,我想对以下代码进行矢量化(最好使用 Pandas):
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')
任何帮助将不胜感激。
【问题讨论】: