Pandas 获取所有连续行,直到列值更改
假设我有一个如下所示的数据帧:Pandas 获取所有连续行,直到列值更改,pandas,Pandas,假设我有一个如下所示的数据帧: pid name 0 5 A 1 5 X 2 5 C 3 5 Q 4 3 H 5 3 E 6 4 U 7 5 J 我不知道第一行的pid的值是多少,但是我想从一开始就获取所有行,直到pid的值发生变化。因此,在这种情况下,应打印pid=5的所有连续行。请注意,pid=5的最后一行不应出现在结果中 因此,结果将
pid name
0 5 A
1 5 X
2 5 C
3 5 Q
4 3 H
5 3 E
6 4 U
7 5 J
我不知道第一行的pid
的值是多少,但是我想从一开始就获取所有行,直到pid
的值发生变化。因此,在这种情况下,应打印pid=5的所有连续行。请注意,pid=5的最后一行不应出现在结果中
因此,结果将是:
pid name
0 5 A
1 5 X
2 5 C
3 5 Q
Name
只是一列,没有任何具体考虑。试试这个
df_final = df[df.pid.diff().ne(0).cumsum().eq(1)]
Out[909]:
pid name
0 5 A
1 5 X
2 5 C
3 5 Q