我有一个看起来像的DataFrame df = pd.DataFrame({'col1': [.8,.9,1,1,1,.9,1,.9,.8]})
。
我的目标是找到“ col1”中的数字1后,删除接下来的五行。
例子
col1
0 0.8
1 0.9
2 1.0
3 1.0
4 1.0
5 0.9
6 1.0
7 0.9
8 0.8
预期产量
col1
0 0.8
1 0.9
2 1.0
3 0.8
有任何想法吗?
我看到它不适用于df = pd.DataFrame({'col1':[.8,.9,1,1,1,.9,1,.9,.8,.7,.6,.5 ,1,.4,.3,.5,.7,.9,.5,.4]})
@约翰逊·弗朗西斯(JohnsonFrancis)。什么应该是输出。
不错,但我会改变
df.col1.eq(1).idxmax()
,以np.argmax(df.col1.eq(1))
使这个多一点防弹。(请考虑df
的索引不是0、1、2,...`的情况。谢谢@本,我现在编辑。很好的建议
我相信,要求是在找到“ 1”时跳过接下来的5行。因此,如果存在多个“ 1”,则此代码将不起作用。此代码仅处理找到的第一个“ 1”。