Поиск существующих промежуточных итогов в кадре данных pandas или списке чиселPython

Программы на Python
Anonymous
Поиск существующих промежуточных итогов в кадре данных pandas или списке чисел

Сообщение Anonymous »

Вот интересная проблема. Учитывая кадр данных pandas (или даже список Python), как можно найти промежуточные итоги, которые могут быть в этом списке? Например:

Код: Выделить всё

    running  value
0     False  50709
1     False  26715
2     False   1715
3     False  79139
4     False  34447
5     False  -7256
6     False   1210
7     False  42913
8      True  36227
9     False    999
10    False  20107
11    False   5787
12    False  -1466
13    False   -216
14    False    615
15    False  24827
16     True  11400
17    False   5642
18     True   5758
19    False     -5
20     True   5753
Наблюдения по поводу данных:
  • Знаки могут быть неверными.
  • В данных есть как промежуточные, так и промежуточные итоги. Строки [3, 7, 15] — это промежуточные итоги, [8, 16, 18, 20] — промежуточные итоги.
  • Промежуточный итог 3 можно считать особым случае, поскольку это одновременно и промежуточный итог, и промежуточный итог.
  • Я могу определить промежуточные итоги другими способами, поэтому в примере данных они помечены как «Истина».
  • Промежуточные итоги [3, 7, 15] представляют строки [0, 1, 2], [4, 5, 6] и [10, 11, 12, 13 , 14] соответственно.
  • Справедливо предположить, что промежуточный итог следует за непрерывным подмножеством чисел.
  • Промежуточных итогов может не быть .
  • Я не знаю, бывают ли случаи, когда набор промежуточных итогов включает в себя другой набор промежуточных итогов меньшего размера. Даже ответ, который не учитывает это, будет полезен.
  • Количество строк будет относительно небольшим, менее 100.
Мне нужно определить промежуточные итоги и строки, представленные каждым промежуточным итогом.
См. мой ответ ниже.

Подробнее здесь: https://stackoverflow.com/questions/783 ... of-numbers

Вернуться в «Python»