【问题标题】:Remove dips of data in Pandas dataframe删除 Pandas 数据框中的数据下降
【发布时间】:2022-07-19 20:32:50
【问题描述】:

我在 pandas 数据框中有一些时间序列数据,我知道它们应该总是增加,但有一些不正确的低值。如下所示。

22-01-17   0
22-01-18   45
22-01-19   78
22-01-20   98
22-01-21   6            // bad
22-01-22   7            // bad
22-01-23   4            // bad
22-01-24   101

如何删除数据中小于之前良好值的区域。

我不介意我们删除这些值或替换为最后一个好的值。

那么使用上面的例子我怎么能得到

22-01-17   0
22-01-18   45
22-01-19   78
22-01-20   98
22-01-21   98
22-01-22   98
22-01-23   98
22-01-24   101

or

22-01-17   0
22-01-18   45
22-01-19   78
22-01-20   98
22-01-21   NaN
22-01-22   NaN
22-01-23   NaN
22-01-24   101

谢谢

【问题讨论】:

    标签: pandas dataframe


    【解决方案1】:

    假设 s 你的系列。

    要获得第一个选项:

    s.cummax()
    

    输出:

    22-01-17      0
    22-01-18     45
    22-01-19     78
    22-01-20     98
    22-01-21     98
    22-01-22     98
    22-01-23     98
    22-01-24    101
    dtype: int64
    

    第二个:

    s.mask(s.lt(s.cummax()))
    

    输出:

    22-01-17      0.0
    22-01-18     45.0
    22-01-19     78.0
    22-01-20     98.0
    22-01-21      NaN
    22-01-22      NaN
    22-01-23      NaN
    22-01-24    101.0
    dtype: float64
    

    【讨论】:

      猜你喜欢
      • 2017-01-03
      • 2018-05-22
      • 1970-01-01
      • 2019-06-07
      • 1970-01-01
      • 2016-06-01
      • 2012-06-07
      • 2021-12-06
      • 1970-01-01
      相关资源
      最近更新 更多