首页 > 解决方案 > 如何让数据大于等于之前的数据

问题描述

我有一个数据框,我希望特定列中的每个值都大于或等于前一个值。

在下面的示例中,我希望将其应用于“d”列,因此预期结果应将 5 替换为 7。

那么我该怎么做呢?

实际情况需要考虑效率问题,最好不要使用FOR。

预先感谢您的回复。

代码:

>>> df = pd.DataFrame({'a': [1,3,2,5], 'b': [2, 4,3,4], 'c':[3,5,4,3]})
>>> df
   a  b  c
0  1  2  3
1  3  4  5
2  2  3  4
3  5  4  3

>>> df['d'] = df['a']+df['b']
>>> df
   a  b  c  d
0  1  2  3  3
1  3  4  5  7
2  2  3  4  5
3  5  4  3  9

标签: pythonpandas

解决方案


您可以使用以下方法执行此操作cummax

>>> df['d'] = df['d'].cummax()
>>> df
   a  b  c  d
0  1  2  3  3
1  3  4  5  7
2  2  3  4  7
3  5  4  3  9

推荐阅读