Dada una lista 2D, escriba un programa Python para encontrar el elemento más común en cada columna de la lista 2D.
Ejemplos:
Input : [[1, 1, 3], [2, 3, 3], [3, 2, 2], [2, 1, 3]] Output : [2, 1, 3] Input : [['y', 'y'], ['y', 'x'], ['x', 'x']] Output : ['y', 'x']
Método #1: Usar most_common() del módulo de colecciones
most_common() devuelve una lista de los n elementos más comunes y sus recuentos desde el más común al menos. Así, podemos encontrar fácilmente los elementos más comunes en cada columna utilizando la comprensión de listas.
# Python3 program to find most common # element in each column in a 2D list from collections import Counter def mostCommon(lst): return [Counter(col).most_common(1)[0][0] for col in zip(*lst)] # Driver code lst = [[1, 1, 3], [2, 3, 3], [3, 2, 2], [2, 1, 3]] print(mostCommon(lst))
Producción:
[2, 1, 3]
Método n.º 3: usar el modo() del módulo de estadísticas
# Python3 program to find most common # element in each column in a 2D list from scipy.stats import mode import numpy as np def mostCommon(lst): val, count = mode(lst, axis = 0) return val.ravel().tolist() # Driver code lst = [[1, 1, 3], [2, 3, 3], [3, 2, 2], [2, 1, 3]] print(mostCommon(lst))
Producción:
[2, 1, 3]
Publicación traducida automáticamente
Artículo escrito por Smitha Dinesh Semwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA