"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo realizar recuentos de valores y encontrar recuentos máximos para varias columnas utilizando Pandas DataFrame GroupBy?

¿Cómo realizar recuentos de valores y encontrar recuentos máximos para varias columnas utilizando Pandas DataFrame GroupBy?

Publicado el 2024-11-11
Navegar:237

How to Perform Value Counts and Find Maximum Counts for Multiple Columns Using Pandas DataFrame GroupBy?

Pandas DataFrame Group By Multiple Columns for Value Counts

En la manipulación de DataFrame con Pandas, agrupar datos por múltiples columnas puede proporcionar información valiosa. Este artículo demuestra cómo contar observaciones mientras se agrupa por dos columnas, así como también cómo determinar el recuento más alto para cada agrupación.

Dado un DataFrame con varias columnas, es posible aplicar la función 'groupby' para agrupar datos basado en columnas específicas. Aquí, tenemos un DataFrame llamado 'df' con cinco columnas: 'col1', 'col2', 'col3', 'col4' y 'col5'.

import pandas as pd

df = pd.DataFrame([
    [1.1, 1.1, 1.1, 2.6, 2.5, 3.4,2.6,2.6,3.4,3.4,2.6,1.1,1.1,3.3], 
    list('AAABBBBABCBDDD'), 
    [1.1, 1.7, 2.5, 2.6, 3.3, 3.8,4.0,4.2,4.3,4.5,4.6,4.7,4.7,4.8], 
    ['x/y/z','x/y','x/y/z/n','x/u','x','x/u/v','x/y/z','x','x/u/v/b','-','x/y','x/y/z','x','x/u/v/w'],
    ['1','3','3','2','4','2','5','3','6','3','5','1','1','1']
]).T
df.columns = ['col1','col2','col3','col4','col5']

Contando por grupos de filas

Para contar los número de observaciones en cada grupo de filas, use la función 'groupby' en las columnas deseadas y luego aplique la función 'tamaño'.

result = df.groupby(['col5', 'col2']).size()

Esto producirá un DataFrame con las columnas agrupadas como índice y el tamaño como valores.

print(result)

Determinación del recuento más alto

Para determinar el recuento máximo para cada valor 'col2', use la función 'groupby' en 'col2' y luego aplique la función 'max' en los datos agrupados.

result = df.groupby(['col5', 'col2']).size().groupby(level=1).max()

Esto producirá una serie con el recuento máximo para cada 'col2' valor.

print(result)

En resumen, el uso de las funciones 'groupby' y 'size' en Pandas permite un análisis eficiente y la agregación de datos, lo que permite a los usuarios extraer información sobre sus datos de diversas maneras.

Declaración de liberación Este artículo se reimprime en: 1729650500 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3