如何使用python在新数据框中复制当前行和下一行的值?

hak*_*ode 5 python dataframe pandas

df如下所示:

A   B   C
1   8   23
2   8   22
3   8   45
4   9   45
5   6   12
6   8   10
7   11  12
8   9   67
Run Code Online (Sandbox Code Playgroud)

我想创建一个新的df,其中'B'中出现8,下一行值为8。

新df:df如下所示:

A   B   C
1   8   23
2   8   22
3   8   45
4   9   45
6   8   10
7   11  12
Run Code Online (Sandbox Code Playgroud)

jez*_*ael 5

使用boolean indexing与移值进行比较与|按位OR

df = df[df.B.shift().eq(8) | df.B.eq(8)]
print (df)

   A   B   C
0  1   8  23
1  2   8  22
2  3   8  45
3  4   9  45
5  6   8  10
6  7  11  12
Run Code Online (Sandbox Code Playgroud)