python - 如何让数据大于等于之前的数据
问题描述
我有一个数据框,我希望特定列中的每个值都大于或等于前一个值。
在下面的示例中,我希望将其应用于“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
解决方案
您可以使用以下方法执行此操作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
推荐阅读
- c - 如何从源代码文件中删除未使用的代码块?
- c# - 验证 web api 2 上的空输入或空输入
- linux - 使用 pgrep 确保只运行一个脚本的执行有多安全?
- angular - 捕获错误时显示错误页面(无重定向)角度 2+
- unix - 使用 tr 将所有“\n”替换为“,”在行尾留下一个 %,它是什么?
- python - 在 python 中使用多个暗网模型并行 GPU 执行
- ultraesb - UltraESB-X 服务器
- sass - Hugo 检测到 css 变化但输出没有变化
- android - 我在运行 Android 时遇到问题我得到这个:错误无法启动模拟器。原因
- javascript - 需要帮助理解此示例中 Reactjs 的双重导出