¿Cómo contar las veces que se repiten las palabras en una columna de dataframe?

publicado por: Anonymous

Cuento con el siguiente dataframe que contiene una columna, en la cual se encuentran letras separadas por comas:

df = pd.DataFrame({'C1':['A','A,A','C,B,A','B,C,C,A','B,A','A,C']})

Quisiera poder calcular frecuencia con la que se repite cada letra en un nuevo dataframe, obteniendo el siguiente resultado deseado:

df_1 = pd.DataFrame({'C1':['A','B','C'],
                     'Cantidad':[7,3,4]
                     })

solución

Una aproximación al problema podría ser: (1) “expandir” la columna en múltiples filas mediante stack() y (2) Aplicar un groupby() clásico para contar ahora sí las filas.

# Convertimos la columna en múltiples filas
new_df = pd.DataFrame(df["C1"].str.split(',', expand=True).stack(), columns=["C1"])
# Agrupamos y contamos cada grupo
new_df.groupby(["C1"])["C1"].count()

C1
A    7
B    3
C    4
Name: C1, dtype: int64
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *