Contagem único datas a partir de uma consulta de lista
-
20-12-2019 - |
Pergunta
Estou consultando um banco de dados de clientes potenciais.Leva têm um "lead gerado data" e um possível "fechado" data.
O que eu gostaria de fazer é ficar um mês por mês total de leads gerados/leva fechado por mês no formato [MM/AAAA, leads gerados, leva fechado] para a API de Visualização do Google.
Eu tenho a minha consulta lógica de conjunto e, atualmente, tem um resultado semelhante ao:
[
["09/2011","09/2011"],
["09/2011","10/2011"],
["10/2011","12/2011"],
...
]
Eu estou preso tentando vir acima com uma maneira eficiente de analisar isso e obter o resultado de:
[
["09/2011", 2, 1],
["10/2011", 1, 1],
["12/2011", 0, 1]
]
Qualquer ajuda seria apreciada!
Solução
Ele não é bonito, mas isso deve funcionar:
from collections import defaultdict
d1 = defaultdict(int)
d2 = defaultdict(int)
data = [["09/2011","09/2011"],["09/2011","10/2011"],["10/2011","12/2011"]]
for d in data:
d1[d[0]] += 1
d2[d[1]] += 1
out = []
for key in set(d1.keys()) | set(d2.keys()):
out.append([key, d1.get(key, 0), d2.get(key, 0)])
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow