我想检查“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
关于python - Pandas :检查列值是否小于任何先前的列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53737715/