【问题标题】:Transform Pandas series to monotonically increreasing with forward fill [duplicate]使用前向填充将 Pandas 系列转换为单调递增 [重复]
【发布时间】: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')

任何帮助将不胜感激。

【问题讨论】:

    标签: python pandas series


    【解决方案1】:

    你很幸运,我的朋友。已经有一个适合你的 pandas 方法!

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

    享受吧!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-28
      • 2022-01-19
      • 2023-03-20
      • 1970-01-01
      • 2017-12-28
      • 2015-08-08
      • 1970-01-01
      相关资源
      最近更新 更多