У меня есть файл, подобный этому, с сегментами 0, 1 и 2:
0000000001111100110002220000000011111111
0011100000111000000220111110001111100000
1110011111111111000001111000002222111000
0011110001110000000220220000001111100000
Например, строка 1 имеет сегмент 9 0, за которым следует сегмент 5 1, а затем отрезком 2 0 и т. д. В этом игрушечном примере каждая строка переходит от позиции 0 до 39 (Python), но в действительности она переходит от 0 до> 2000000, а количество строк> 10000. Для каждого столбца я хотел бы получить длину непрерывных сегментов 0, 1 и 2. Например, для:
column 0, level 0, I have: 9, 2, 0 and 2.
column 0, level 1, I have: 0, 0, 3 and 0.
column 0, level 2, I have: 0, 0, 0 and 0.
For column 10, level 0: 0,5,0 and 0
For column 10, level 1: 5,0,11 and 3
For column 10, level 2: 0,0,0 and 0
For column 23, level 0: 0,0,0 and 0
For column 23, level 1: 0,5,4 and 0
For column 23, level 2: 3,0,0 and 2
В конце я хотел бы иметь 3 разных матрицы (для уровней 0,1 и 2) с длиной сегментов для каждого столбца.
Для 0 это будет выглядеть примерно так:
9.........0............0.................
2.........0............0.................
0.........0............0.................
2.........0............0.................
Для 1:
0.........5............0.................
0.........3............0.................
3.........11............0.................
0.........3............0.................
Для 2:
0.........0............3.................
0.........0............0.................
2.........0............0.................
0.........0............2.................
Как сделать это с Python numpy или pandas?