python - 熊猫:检查列值是否小于任何先前的列值
问题描述
我想检查列“c”的任何值是否小于所有先前列的值。在我目前的方法中,我使用的是 pandas diff(),但它让我只与之前的值进行比较。
import pandas as pd
df = pd.DataFrame({'c': [1, 4, 9, 7, 8, 36]})
df['diff'] = df['c'].diff() < 0
print(df)
当前结果:
c diff
0 1 False
1 4 False
2 9 False
3 7 True
4 8 False
5 36 False
想要的结果:
c diff
0 1 False
1 4 False
2 9 False
3 7 True
4 8 True
5 36 False
所以第 4 行也应该产生 True,因为 8 小于 9。
谢谢
解决方案
这应该有效:
df['diff'] = df['c'] < df['c'].cummax()
输出就像你提到的:
c diff
0 1 False
1 4 False
2 9 False
3 7 True
4 8 True
5 36 False
推荐阅读
- javascript - 触发 useState
- mongodb - Not getting correct result with aggregate and pipeline
- c++ - 从堆栈移动到堆、向量和数组
- c# - 我正在尝试在 selenium c# 中向下滚动一个新选项卡
- java - java util Date 与 Criteria api 的比较未按预期工作
- php - 如何在 trello 中使用 webhook 发送操作?
- c++ - Eigen 中的自定义标量类型
- wordpress - 将分类术语重定向到不带斜杠的查询字符串
- c++ - 为什么一个锁的两个线程可以超过100%的CPU使用率
- vb.net - 如何从 For Each 循环中获取最大值