Python | Encuentre el elemento más común en cada columna en una lista 2D

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *