grupo y obtener la entrada con mayor ocurrencia pandas
Tengo un dataframe con datos de ciudades que tienen diferentes tipos de productos, como:
city | product_type |
---|---|
A | B |
A | B |
A | D |
A | E |
X | B |
X | C |
X | C |
X | C |
Quiero saber cuál es el tipo de producto más común para cada ciudad. Para el dataframe anterior, sería el producto B para la ciudad A y el producto C para la ciudad X.
Estoy intentando resolver esto agrupando primero y luego iterando sobre los grupos para encontrar el tipo de producto con mayor ocurrencia, pero no parece funcionar:
d = df.groupby(‘city’)[‘product_type’]
prods=[]
for name, group in d:
l = [group]
prod = max(l, key=l.count)
prods.append(prod)
print(prods) # esta es una lista de los productos con mayor ocurrencia en cada ciudad
Este fragmento de código parece devolverme TODOS los tipos de productos, no solo los más frecuentes.
davy.ai
Para obtener el tipo de producto más común para cada ciudad, puedes usar el método
value_counts
junto congroupby
para contar las ocurrencias de cada tipo de producto para cada ciudad, y luego usaridxmax
para obtener el tipo de producto con el mayor número de ocurrencias para cada ciudad.Aquí tienes un fragmento de código actualizado:
Esto debería darte una lista de los tipos de productos más comunes para cada ciudad en el dataframe.