Extraer valores en Pandas value_counts ()

Digamos que hemos usado el dataframe[column].value_counts() pandas dataframe[column].value_counts() que genera:

  apple 5 sausage 2 banana 2 cheese 1 

¿Cómo extraes los valores de esto en el orden que se muestra arriba, por ejemplo, máximo a mínimo? [apple,sausage,banana,cheese]

Prueba esto:

 dataframe[column].value_counts().index.tolist() ['apple', 'sausage', 'banana', 'cheese'] 
 #!/usr/bin/env python import pandas as pd # Make example dataframe df = pd.DataFrame([(1, 'Germany'), (2, 'France'), (3, 'Indonesia'), (4, 'France'), (5, 'France'), (6, 'Germany'), (7, 'UK'), ], columns=['groupid', 'country'], index=['a', 'b', 'c', 'd', 'e', 'f', 'g']) # What you're looking for values = df['country'].value_counts().keys().tolist() counts = df['country'].value_counts().tolist() 

Ahora, print(df['country'].value_counts()) da:

 France 3 Germany 2 UK 1 Indonesia 1 

e print(values) da:

 ['France', 'Germany', 'UK', 'Indonesia'] 

e print(counts) da:

 [3, 2, 1, 1] 

Si alguien se lo perdió en los comentarios, intente esto:

 dataframe[column].value_counts().to_frame() 

Primero, debe sort el dataframe de dataframe por la columna de count max a min si ya no está ordenado de esa manera. En tu publicación, ya está en el orden correcto, pero de todos modos lo ordenaré:

 dataframe.sort_index(by='count', ascending=[False]) col count 0 apple 5 1 sausage 2 2 banana 2 3 cheese 1 

A continuación, puede enviar la columna col a una lista:

 dataframe['col'].tolist() ['apple', 'sausage', 'banana', 'cheese']