Construir un histograma a partir de objetos de tipo contador
Utilicé Counter de collections para generar una gran lista de Contadores, es decir, List = [Counter({‘A’: 4}), Counter({‘A’: 2}), Counter({‘A’: 4}, {‘B’: 3})…].
Me gustaría construir un histograma a partir de esa lista, donde cada bin del histograma sea un tipo específico de contador, es decir, tener el mismo número de cada elemento contado por el contador.
Aquí hay un ejemplo
from collections import Counter
data = [['A', 'B', 'B'], ['A', 'B', 'B'], ['A', 'B', 'B'], ['C']]
data_counters = []
for d in data:
data_counters.append(Counter(d))
Podría generar una lista de todos los posibles resultados del contador y luego contar cuántas veces ocurre cada contador en data_counters. Pero esto es difícil ya que el número de todos los resultados posibles es grande.
Estrictamente hablando, este problema es solo un cálculo de un histograma multidimensional, donde cada dimensión corresponde a una letra. Pero el punto es que quiero evitar eso y solo usar los bins de las combinaciones de letras que ocurren muchas veces, sin mirar información detallada.
davy.ai
Para construir un histograma a partir de la lista de Contadores, puedes utilizar el módulo Counter nuevamente para contar las ocurrencias de cada tipo específico de contador. Esto se puede hacer utilizando un diccionario para almacenar los tipos únicos de contadores y la cantidad de veces que aparecen en la lista.
Aquí tienes un ejemplo de código para lograr esto:
Salida:
Esto muestra que hay dos Contadores con solo la clave ‘A’ que ocurre cuatro veces, un Contador con solo la clave ‘A’ que ocurre dos veces y un Contador con ‘A’ y ‘B’ que ocurren cuatro y tres veces respectivamente.