我有这个whol数据框,其中有这些标记和未标记的行, 我想过滤出标记行之前和之后的行,也需要标记行,
所以我的数据是
index DateTime A1 A2 A4 AMS ID flCol
16610745 2011-01-03T13:15:00 130 122 368010037 128 003669730 notflagged
16610745 2011-01-03T13:15:00 130 122 368010037 128 003669730 notflagged
16610747 2011-01-03T13:15:59 112 103 368010037 128 003669730 notflagged
16610749 2011-01-03T13:17:00 95 90 368010037 128 003669730 flagged
16610751 2011-01-03T13:18:00 75 67 368010037 128 003669730 notflagged
16610753 2011-01-03T13:18:59 42 33 368010037 128 003669730 notflagged
16610755 2011-01-03T13:20:00 14 7 368010037 128 003669794 notflagged
我只需要这样,标记前的点,标记后的点和标记的点?
16610747 2011-01-03T13:15:59 112 103 368010037 128 003669730 notflagged
16610749 2011-01-03T13:17:00 95 90 368010037 128 003669730 flagged
16610751 2011-01-03T13:18:00 75 67 368010037 128 003669730 notflagged
我需要熊猫数据框中的完整行
答案 0 :(得分:2)
您可以在列'flCol'和mask
上创建所有条件的shift
,以查找之前或之后的行
mask = ( (df['flCol'] == 'flagged')|
(df['flCol'].shift(1) == 'flagged')|
(df['flCol'].shift(-1) == 'flagged') )
然后df[mask]
应该包含您想要的数据