首页 > 解决方案 > 熊猫在时间表中跳过停止

问题描述

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

    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 值并加入 in 和 out 值:

    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()

标签: pythonpandasdataframetimetable

解决方案


更像是一个自定义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  out
0         a       b   1    0
1         b       d   2    3
2         d       e   1    1

推荐阅读