我需要清理类似于以下内容的数据集:
https://i.stack.imgur.com/yMjuy.png
预期结果如下:
https://i.stack.imgur.com/QFJHS.png
换句话说,我需要将(1)具有“ action”的所有行保留在“ ACTION”列中,并且将保留在紧邻的下一行-(2)如果下一行具有“结果”在该列中。
我已经尝试了.shift()
的几种组合,但是没有用。
谢谢。
答案 0 :(得分:0)
您可以尝试这样的事情:
3.123
3.100
输出:
df.assign(step=df['Action'].eq('action').cumsum())\
.drop_duplicates(subset=['Action','step'], keep='first')\
.groupby('step')\
.filter(lambda x: x.step.count()==2)