我有一个由熊猫创建的数据帧,如下所示:

import pandas as pd
df = pd.DataFrame({'name':['q1','q2','q3','q4','q5'],'vlue':[17,20,16,13,17]})

   name vlue
0   q1  17
1   q2  20
2   q3  16
3   q4  13
4   q5  17

我想要比前两行连续减少的行。
在这种情况下,q4的值是13,与q3的值16和q2的值20相比,它减小了。
所以答案应该是第四季度。
做这件事的有效方法是什么?

最佳答案

这应该可以做到:

df.loc[(df.vlue<df.vlue.shift(1))&(df.vlue.shift(1)<df.vlue.‌​shift(2)), 'name']
#3    q4
#Name: name, dtype: object

关于python - 与python中的最后两行相比,如何获取其值连续减少的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47649126/

10-09 17:12