Python 根据列的条件以数据帧间隔填充NaN值
我有一个dataframe,它有一个ID列和一个描述列,其中的开始值和停止值由ID表示。每个启动-停止对都由一个ID表示,在该对的下一次出现时,该ID将递增为1 我需要在STOP元素发生后立即将ID增加1(当然要更新NaN),并且这个相同的ID应该继续,直到我找到下一个STOP。 既然主要问题集中在覆盖停止事件上,那么如何处理第一个开始-停止对呢? 此外,在开始-停止或停止对内可以有任意数量的事件或段 我希望最后能像这样 这种方法需要应用于数十万行,而不是如示例所示的一堆行。请在这方面帮助我!提前感谢:)Python 根据列的条件以数据帧间隔填充NaN值,python,arrays,pandas,dataframe,numpy,Python,Arrays,Pandas,Dataframe,Numpy,我有一个dataframe,它有一个ID列和一个描述列,其中的开始值和停止值由ID表示。每个启动-停止对都由一个ID表示,在该对的下一次出现时,该ID将递增为1 我需要在STOP元素发生后立即将ID增加1(当然要更新NaN),并且这个相同的ID应该继续,直到我找到下一个STOP。 既然主要问题集中在覆盖停止事件上,那么如何处理第一个开始-停止对呢? 此外,在开始-停止或停止对内可以有任意数量的事件或段 我希望最后能像这样 这种方法需要应用于数十万行,而不是如示例所示的一堆行。请在这方面帮助我
#在每个站点创建一个组标签
cond=df.SEG_DESC==“停止”
df['tag']=cond.cumsum()
df.loc[cond,'tag']=df.loc[cond,'tag']-1
#对于每个标记组,使用back fillna
df['ID\u START\u STOP']=df.groupby('tag')['ID\u START\u STOP'].bfill().astype(int)
#在每个站点创建一个组标签
cond=df.SEG_DESC==“停止”
df['tag']=cond.cumsum()
df.loc[cond,'tag']=df.loc[cond,'tag']-1
#对于每个标记组,使用back fillna
df['ID\u START\u STOP']=df.groupby('tag')['ID\u START\u STOP'].bfill().astype(int)