如何提取相邻行?

时间:2019-06-28 08:43:39

标签: pandas

我有下面的代码提取所有包含打开的字符串的行和列。

opened =  door[door.Text4.str.contains('opened')]

除上述内容外,我还需要提取下一行。

    A     Text4   C   D
5  foo    opened  0   0
6  bar            1   2
7  bar    closed  3   6
8  foo            6   12
9  foo    opened  7   14
10 foo            7   14

所以我最终将得到一个带有

的数据框
5  foo    opened  0   0
6  bar            1   2
9  foo    opened  7   14
10 foo            7   14

我该如何实现?

1 个答案:

答案 0 :(得分:3)

您可以选择包含'opened'shift(1)的相邻行,从而选择相邻的行。要同时选择包含'opened'的一个和相邻的一个,可以使用运算符|

opened =  door[door.Text4.str.contains('opened') | door.Text4.str.contains('opened').shift(1)]

结果:

      A   Text4   C     D 
5   foo  opened   0     0 
6   bar       1   2     2 
9   foo  opened   7     14 
10  foo       7  14     14