熊猫:检查列值是否小于任何先前的列值

时间:2018-12-12 07:06:38

标签: python pandas

我想检查列'c'的值是否小于所有先前的列值。 在我目前的方法中,我使用的是熊猫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。

谢谢

1 个答案:

答案 0 :(得分:7)

这应该有效:

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