Python 一条条的熊猫

Python 一条条的熊猫,python,pandas,Python,Pandas,我有这样一个数据帧: df = pd.DataFrame({'dir':[0,0,0,1,1,0,1], 'price': [100, 102, 110, 120, 125, 200, 210]}) dir price 0 0 100 1 0 102 2 0 110 3 1 120 4 1 125 5 0 200 6 1 210 dir price 0 0 100 1 0

我有这样一个数据帧:

df = pd.DataFrame({'dir':[0,0,0,1,1,0,1], 'price': [100, 102, 110, 120, 125, 200, 210]})

   dir  price
0    0    100
1    0    102
2    0    110
3    1    120
4    1    125
5    0    200
6    1    210
   dir  price
0    0    100
1    0    102
2    0    110
3    1    120
4    1    125

   dir  price
5    0    200
6    1    210
我想按0和其后的1分组。我期望的结果如下所示:

df = pd.DataFrame({'dir':[0,0,0,1,1,0,1], 'price': [100, 102, 110, 120, 125, 200, 210]})

   dir  price
0    0    100
1    0    102
2    0    110
3    1    120
4    1    125
5    0    200
6    1    210
   dir  price
0    0    100
1    0    102
2    0    110
3    1    120
4    1    125

   dir  price
5    0    200
6    1    210

使用
diff
cumsum
如果它是
1
0
,您将作为一个新组开始计数,这样
diff
应该等于
eq
)到
-1

for x , y in df.groupby(df.dir.diff().eq(-1).cumsum()): 
    print(y)



   dir  price
0    0    100
1    0    102
2    0    110
3    1    120
4    1    125
   dir  price
5    0    200
6    1    210
d={x: y  for x , y in df.groupby(df.dir.diff().eq(-1).cumsum())}