我想检查列'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。
谢谢
答案 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