大熊猫在时间表中跳过停止

我试图跳过如下所示的 Pandas 时间表中的一些站点:


    departure   arrival     in  out

0   a           b           1   0

1   b           '#delete'   2   0

2   '#delete'   d           0   3

3   d           e           1   1

我尝试跳过时间表中的 #delete 值并加入输入和输出值:


    departure   arrival     in  out

0   a           b           1   0

1   b           d           2   3

2   d           e           1   1

有谁知道如何实现这一目标?


编辑:对文的解决方案稍作修改对我有用:


df = df.mask(df=="#delete")

df.arrival = df.arrival.fillna(method='ffill')

df.departure = df.departure.fillna(method='bfill')

df = df.groupby(['arrival', 'departure']).sum()


有只小跳蛙
浏览 111回答 2
2回答

烙印99

更像是自定义fillna问题df=df.mask(df=="'#delete'")df.departure=df.departure.ffill()df.arrival=df.arrival.bfill()df.groupby(['departure','arrival'],as_index=False).sum()Out[761]:   departure arrival  in  out0         a       b   1    01         b       d   2    32         d       e   1    1

PIPIONE

像这样的东西(未经测试):skipfrom = np.where(df.arrival == '#delete')[0]skipto = skipfrom + 1df.arrival[skipfrom] = df.arrival[skipto].valuesdf.out[skipfrom] = df.out[skipto].valuesdf = df[df.departure != '#delete']
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python