A veces, mientras trabajamos con Python Matrix, podemos tener un problema en el que necesitamos encontrar frecuencias de todos los elementos en Matrix. Este tipo de problema puede tener aplicación en muchos dominios. Analicemos ciertas formas en que se puede realizar esta tarea.
Método #1: UsoCounter() + sum() + map()
La combinación de los métodos anteriores se puede utilizar para realizar esta tarea. En esto, realizamos la tarea de contar elementos usando Counter() y extendiendo la lógica a cada fila usando sum() y map().
# Python3 code to demonstrate # Matrix elements Frequencies Counter # using Counter() + sum() + map() from collections import Counter # Initializing list test_list = [[4, 5, 6], [2, 4, 5], [6, 7, 5]] # printing original list print("The original list is : " + str(test_list)) # Matrix elements Frequencies Counter # using Counter() + sum() + map() res = dict(sum(map(Counter, test_list), Counter())) # printing result print ("The frequencies dictionary is : " + str(res))
The original list is : [[4, 5, 6], [2, 4, 5], [6, 7, 5]] The frequencies dictionary is : {2: 1, 4: 2, 5: 3, 6: 2, 7: 1}
Método #2: Usarchain() + Counter()
La combinación de las funciones anteriores se puede usar para realizar esta tarea. En esto, aplanamos la array usando chain() y calculamos la frecuencia usando Counter().
# Python3 code to demonstrate # Matrix elements Frequencies Counter # using Counter() + chain() from collections import Counter import itertools # Initializing list test_list = [[4, 5, 6], [2, 4, 5], [6, 7, 5]] # printing original list print("The original list is : " + str(test_list)) # Matrix elements Frequencies Counter # using Counter() + chain() res = dict(Counter(itertools.chain(*test_list))) # printing result print ("The frequencies dictionary is : " + str(res))
The original list is : [[4, 5, 6], [2, 4, 5], [6, 7, 5]] The frequencies dictionary is : {2: 1, 4: 2, 5: 3, 6: 2, 7: 1}
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA