Я хотел бы разделить эти pandas DataFrames на N под-DataFrames в соответствии со значением состояния.
x y state
0 71.27 45.10 2
1 69.95 44.53 2
2 70.63 45.19 2
3 69.67 45.16 1
4 70.64 45.59 1
5 67.85 45.48 1
6 70.10 44.60 1
7 70.52 45.37 1
8 68.89 45.97 1
9 70.35 45.15 1
10 71.01 45.72 1
11 70.89 45.45 1
12 69.93 44.25 1
13 70.94 44.87 0
14 70.36 44.61 0
15 71.98 44.60 0
16 70.10 44.72 1
17 68.92 46.73 1
18 69.92 46.06 1
19 70.61 44.63 1
20 70.19 45.19 1
21 67.44 46.27 1
Я могу легко сгруппировать строки, имеющие одно и то же значение состояния:
df[df['state'] == 0]
x y state
13 70.94 44.87 0
14 70.36 44.61 0
15 71.98 44.60 0
df[df['state'] == 1]
x y state
3 69.67 45.16 1
4 70.64 45.59 1
5 67.85 45.48 1
6 70.10 44.60 1
7 70.52 45.37 1
8 68.89 45.97 1
9 70.35 45.15 1
10 71.01 45.72 1
11 70.89 45.45 1
12 69.93 44.25 1
16 70.10 44.72 1
17 68.92 46.73 1
18 69.92 46.06 1
19 70.61 44.63 1
20 70.19 45.19 1
21 67.44 46.27 1
df[df['state'] == 2]
x y state
0 71.27 45.10 2
1 69.95 44.53 2
2 70.63 45.19 2
Однако я хотел бы снова разделить эти субкадры в зависимости от индексов. Например, здесь я бы хотел 2 отдельных субкадра для state==1
вместо 1:
3 69.67 45.16 1
4 70.64 45.59 1
5 67.85 45.48 1
6 70.10 44.60 1
7 70.52 45.37 1
8 68.89 45.97 1
9 70.35 45.15 1
10 71.01 45.72 1
11 70.89 45.45 1
12 69.93 44.25 1
16 70.10 44.72 1
17 68.92 46.73 1
18 69.92 46.06 1
19 70.61 44.63 1
20 70.19 45.19 1
21 67.44 46.27 1
Есть идеи?