Supondo que as colunas apareçam na ordem do tempo, a primeira linha (por exemplo) indica que a construção total em cada período foi
0, 0+45 = 45, 45+135 = 180, 180+405 = 585, 585+1010 = 1595, ..., 2230+0 = 2230.
A construção estava na metade em 2230/2 = 1115. Isso ocorreu durante o período 4, porque no final do período 3 o total era 585, no final do período 4 o total era 1595 e 585 <= 1115 <1595.
Este parece ser o resultado relatado pela coluna [Mediana], que fornece o índice do período (começando em 1 à esquerda).
Você pode codificar isso no seu idioma favorito . A tabela é tão pequena (100 linhas), no entanto, que uma planilha será conveniente, apenas para verificar o que você faz mais formalmente em Python ou o que quer. Aqui está o que pode parecer:
As três primeiras linhas de dados têm os mesmos valores que o seu. As próximas duas linhas de dados (cercadas por linhas em branco) são escolhidas mais abaixo na sua tabela. As últimas cinco linhas de dados exercitam um pouco o algoritmo.
(Observe, como mostrado nas duas últimas linhas da planilha, como o Excel escolhe o período posterior sempre que o meio cai exatamente entre dois períodos. Essa não é necessariamente a resposta "correta", mas é válida.)
Aqui estão as fórmulas nas colunas H: R:
Você não precisa digitar todos eles. A única digitação necessária é:
=H2+A2
no I2. Arraste isso pelo O2. Isso calcula as somas cumulativas. Requer que as colunas A: G estejam em ordem cronológica.
=O2/2
em P2. Isso encontra metade do total.
=Match(P2,H2:O2,1)
no segundo trimestre. Isso indexa a coluna em que a construção estava pela metade.
=Offset($A$1:$G$1,0 0, Q2-1, 1, 1)
em R2. Isso obtém o cabeçalho da coluna correspondente ao índice.
Em seguida, cole 0
em toda a coluna H e arraste I2: R2 para quantas linhas forem necessárias.
Isso efetivamente serve como pseudocódigo para o algoritmo. A parte mais complicada será a pesquisa para implementar a MATCH
função do Excel . Mas isso não requer nenhuma habilidade: não é ineficiente pesquisar cada matriz de somas cumulativas sequencialmente (e não com o algoritmo de pesquisa binária preferido), porque essas matrizes são muito curtas.