我有一个像这样的熊猫创建的数据框:
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相比,它减小了。因此答案应为q4。
什么是有效的方法?
这应该可以解决问题:
df.loc[(df.vlue<df.vlue.shift(1))&(df.vlue.shift(1)<df.vlue.shift(2)), 'name']
#3 q4
#Name: name, dtype: object
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句